2017-12-20 4 views
1

Ich habe einige xUnit-Tests als Teil eines Builds ausgeführt und muss die Ergebnisse zurück an TFS 2010 senden, damit sie in der Build-Zusammenfassung/log wie normale Tests angezeigt werden.Welches Format müssen die NUnit-Testergebnisse XML sein, um wieder in TFS 2010 Build zu veröffentlichen?

Ich führe die Tests mit dem Argument -nunit aus, so dass die Ausgabe ein NUnit xml und kein xUnit ist. Ich versuche NUnit4TeamBuild zu verwenden, um die Ergebnis-XML in TFS zu veröffentlichen, und es sieht so aus, als ob es funktioniert, aber am Ende gibt es keine Testergebnisse.

Dies ist das detaillierte Protokoll für diesen Schritt:

Publish xUnit Results 
NUnitTfs.exe -n results.xml -t Project -b "Build_20171221.8" -v 2010 
Loading NUnit Output from results.xml... 
Transforming NUnit output to .trx file... 
Adding build information to .trx file... 
Publishing .trx file... 
Checking test run does not exist... 
Reading users identity... 
Creating test run... 
Creating test results... 
Updating test run with details... 
Uploading test run details... 
Uploading assemblies... 
Updating test results with details... 
Uploading test result details... 

Der Build endet mit 0 Fehlern und 0 Warnungen sagt aber auch in der Build-Zusammenfassung "No Test Ergebnisse" und es gibt keinen Test Ergebnisse überall.

Ich habe keine Ahnung, warum die Tests nicht veröffentlichen.

Hier ist ein Beispiel für die XML-Code, es zu veröffentlichen versucht (beachten Sie, dass ich die Dateipfade geändert haben und verkürzt die Stack-Trace):

<?xml version="1.0" encoding="utf-8"?> 
<test-results name="Test results" errors="0" inconclusive="0" ignored="0" invalid="0" not-run="0" date="2017-12-21" time="08:39:57" total="1" failures="1" skipped="0"> 
    <environment os-version="unknown" platform="unknown" cwd="unknown" machine-name="unknown" user="unknown" user-domain="unknown" nunit-version="xUnit.net 2.3.1.3858" clr-version="64-bit .NET 4.0.30319.34209 [collection-per-class, non-parallel]" /> 
    <culture-info current-culture="unknown" current-uiculture="unknown" /> 
    <test-suite type="Assemblies" name="C:\Tests.DLL" executed="True" success="False" result="Failure" time="57.41"> 
    <results> 
     <test-suite type="Assembly" executed="True" name="C:\Tests.DLL" result="Failure" success="False" time="57.410"> 
     <results> 
      <test-suite type="TestCollection" executed="True" name="Tests" result="Failure" success="False" time="48.992"> 
      <results> 
       <test-case name="Google_Search_Test" executed="True" result="Failure" success="False" time="48.9917024"> 
       <failure> 
        <message>System.Exception : Test Failed. Exception has been thrown by the target of an invocation.</message> 
        <stack-trace>at Tests.Fixtures.Fixture.FormatException(Exception e) in... etc. </stack-trace> 
       </failure> 
       </test-case> 
      </results> 
      </test-suite> 
     </results> 
     </test-suite> 
    </results> 
    </test-suite> 
</test-results> 

Antwort

0

TFS 2010 verwendet ein proprietäres Ergebnisse Format mit einem „.trx "Erweiterung um Ergebnisse zu veröffentlichen, also müssen wir die NUnit Ergebnisse transponieren bevor wir sie über Web Services zurücksenden.

Sie NUnitTFS for xUnit verwenden können, versuchen Sie einfach das Workflow-Muster NUnitAndPublishTemplate.xaml die von Ian Battersby zur Verfügung gestellt.

Siehe Ian Battersby ‚s Blog für Details: Running and publishing NUnit test results into TFS 2010

+0

Wie oben im Buildprotokoll sagt:' Transforming NUnit Ausgabedatei .trx ... Informationen Hinzufügen von Build-Datei .trx .. Veröffentlichen von .trx-Datei ... ' Und ich habe bereits alle 3 dieser Links, die Sie angegeben haben, gesehen. Immer noch keine Würfel. –

+0

@ J.Doe Ist es möglich, dass Sie nicht die korrekte Berechtigung zum Anzeigen des Testergebnisses festgelegt haben? Siehe diesen Link: http://blog.ehn.nu/2010/10/why-cant-i-see-test-results-in-the-tfs-2010-build-report/ –

Verwandte Themen