Da die Frameworks Google Test, Catch, Boost.Test und Doctest in CLion integriert sind, lassen sich Unit-Tests mühelos durchführen.
Standardmäßig werden Tests durchgeführt, indem einfach eine reguläre Programmdatei in CLion ausgeführt wird. Um den integrierten Test-Runner verwenden zu können, sollten Sie jedoch die speziellen Konfigurationen für Google Test, Catch, Boost.Test bzw. Doctest verwenden.
Im Falle, dass Ihr CMake-Ziel mit gtest oder gmock verbunden ist, wird diese Konfiguration automatisch erstellt. Alternativ können Sie einen einzelnen Test, eine Fixture oder eine ganze Datei ausführen, indem Sie
⌃⇧R drücken. Zusätzlich haben Sie die Möglichkeit, derartige Konfigurationen manuell in den Einstellungen unter Run |
Edit Configurations... zu erstellen und zu aktualisieren:

Nutzen Sie Tags, um im Falle einer Catch-Konfiguration die Testserie einzugrenzen. Sie profitieren zudem von der Vervollständigung für Tag-Namen:

Mit diesem benutzerfreundlichen und flüssigen Unit-Testlauf genießen Sie alle Vorteile einer testorientierten Entwicklung. Die zugehörige Ansicht zeigt:
Der Testlauf von CLion ermöglicht Ihnen zudem:
Anhand der Symbole in der rechten Randleiste können Sie das Ausführen/Debugging von Tests initiieren oder diese mit Valgrind Memcheck durchführen. Gleichzeitig erfahren Sie auch den Status der Tests: Erfolgreich oder fehlgeschlagen.
Die Funktion zur Codegenerierung (Alt+Einfügen) kann beim Schreiben von Unit-Tests sehr hilfreich sein. Für die Google Test-Methoden, Test erstellen, Test-Fixture oder SetUp/TearDown, gilt.
Wird ein Test für Fixtures generiert, wird das Makro TEST() automatisch
in das
entsprechende Makro TEST_F(), TEST_P(), TYPED_TEST(), oder
TYPED_TEST_P() konvertiert:
CLion unterstützt den CMake-spezifischen Test-Runner CTest. Die IDE erkennt die Liste der mit CTest ausgeführten Tests und erstellt automatisch Run/Debug-Konfigurationen für sie. Beim Ausführen von Tests werden die Ergebnisse im integrierten Test-Runner angezeigt. Dort können Sie die Tests debuggen, fehlgeschlagene Tests wiederholen und weitere Aktionen ausführen.