2016-08-05 50 views
2

Wir verwenden derzeit TFS 2015 für unsere CI-Builds. Wir verwenden das Microsoft-Unit-Test-Framework, das mit VS 2015 ausgeliefert wird, um Unit-Tests zu erstellen, und wir führen diese als Teil unseres TFS-2015-Build-Prozesses aus.Code Coverage mit TFS 2015

Wir möchten unseren Komponententest erweitern, um die Code-Abdeckung einzubeziehen. Wir können die VS 2015/TFS 2015 Code-Coverage-Tools nicht verwenden, da diese eine Unternehmenslizenz erfordern und wir nur eine professionelle Lizenz haben (obwohl wir bei Bedarf ein Upgrade in Erwägung ziehen würden).

Wir suchen nach einem Code-Coverage-Tool, das wir in unsere TFS 2015-Build einbinden können und das aussagekräftige Ergebnisse liefert (z. B. Coverage-Berichte). Wenn möglich, wäre es gut, wenn das gleiche Tool in die VS 2015 IDE integriert wird, um eine Echtzeitabdeckung zu gewährleisten.

Alle Empfehlungen und Vorschläge sind willkommen.

+0

Verwenden Sie XAML Build oder vNext? –

+0

Wir verwenden vNext – DomBurf

Antwort

1

Gemäß der Compare VS offerings-Site verfügt nur Visual Studio Enterprise über eine Code Coverage-Funktion. Wenn Sie also TFS für Ihren CI-Build verwenden, ist die Installation von VS Enterprise auf Ihrem Build Agent-Computer erforderlich.

Andernfalls müssen Sie möglicherweise einen anderen Build-Server überprüfen, z. B. TeamCity.

1

Angesichts eines Testabdeckungswerkzeugs für eine MS-Sprache besteht das "Einhängen in den Build" darin, den Aufruf des Testabdeckungswerkzeugs zu scripten und es als zusätzlichen Schritt zum Erstellungsprozess hinzuzufügen.

Sie haben nicht gesagt, welche Sprachen Sie abdecken wollten, also nehme ich an, dass Sie ein breites Spektrum haben wollen. In diesem Fall wird Semantic Designs (meine Firma) family of test coverage tools Ihnen wahrscheinlich gut dienen.

Insbesondere deckt diese Familie speziell Visual Studio C, C++ und C# ab. Es gibt ein Werkzeug pro Sprache, da das Werkzeug den Quellcode analysieren muss, um den Instrumentierungsprozess durchzuführen. Alle Familienmitglieder arbeiten auf dieselbe Weise und die Ergebnisse können in mehreren Sprachen geteilt werden, um Abdeckungsberichte für eine mehrsprachige Zielanwendung zu erstellen.

Obwohl normalerweise keine Abdeckungsdaten in Echtzeit erstellt werden, können Sie diesen Effekt problemlos erreichen, indem Sie jeder Anwendung ein paar Zeilen benutzerdefinierten Codes hinzufügen, die nur aktiviert sind, wenn die Testabdeckung mit einer Präprozessordirektive aktiv ist.

+0

Nur um zu klären (Entschuldigung, sollte erwähnt haben, das ist in meinem ursprünglichen Beitrag) Ich möchte Code-Abdeckung für C# -Code. Also brauche ich grundsätzlich ein C# -Code-Coverage-Tool, das in TFS 2015 integriert wird. – DomBurf