2012-11-27 11 views
7

Mein Code wird über Test Driven Development erstellt. Meine Werkzeuge sind Visual Studio 2010 Express, Google Test, C++ 98 und die neueste Version von Boost. Ich schreibe meinen eigenen Mock und verwende Google Mock nicht.Code Coverage Tool für Visual Studio TDD Projekt

Welche Open-Source-Tools würden Sie mir empfehlen, damit ich meinen Code abdecken kann?

+1

Hinweis: Wenn Sie VS10 verwenden, können Sie verwenden, um einige C++ 11 Funktionen unter der Haube, z Verschieben Sie die Semantik in der Standardbibliothek, es sei denn, Sie haben _HAS_CPP0X = 0 definiert –

+0

@Arne Mertz Ja, ich habe #define_HAS_CPP0X 0, danke! – Baz

Antwort

2

Ich verwende gcov.

Mein Setup ist ziemlich kompliziert, jetzt, dass ich beschreiben, daran zu denken habe:
Ich habe die MinGW-Distribution von stl, erhältlich bei nuwen.net für gcc (g ++) und gcov verwendet. Dies gibt mir ein gewisses Maß an Portabilität.
Ich baue meine Testanwendung mit Hilfe von SCONs und einer Batch-Datei, um sie zu erstellen und auszuführen, um zu überprüfen, ob sie erfolgreich ist.

Dann beginne ich Code zur Versionskontrolle und ein Jenkins CI-Server, der auf meinem eigenen Rechner läuft, nimmt ihn auf und verwendet immer noch Scons, kompiliert ihn, aber dieses Mal mit dem --coverage Flag. Es läuft die Test-App, die diesmal die * .gc ?? Dateien. Dann führe ich gcov einmal aus, sage aber, wo alle Dateien sind, was eine Menge * .gcov-Dateien erzeugt. Ich habe in der Vergangenheit das Python-Skript gcovr.py verwendet, aber ich habe seitdem meine eigenen geschrieben, um alle * .gcov-Dateien zu scannen und alle nicht abgedeckten Zeilen zu drucken.

Ich bin nicht sicher über den Open-Source-Status all dieser Stücke, aber ich weiß, dass sie frei sind.

2

Werfen Sie einen Blick auf Sonar mit C++ Plugin. Dieses Tool hilft Ihnen nicht nur bei Codeabdeckung zu sehen, sondern auch andere Analyse für die Vervielfältigung und Code-Qualität, Gestaltungsqualität usw.

http://www.sonarsource.org/ und plugin

Verwandte Themen