Frage

auf die Jagd schneiden, können die Teamcity .NET NUnitLauncher Prozess Microsoft csproj Dateien?

Ich stelle diese Frage, weil der folgenden.

Ich habe einen NANT Build-Skript. In diesem Skript habe ich eine Reihe von Tests, die nunit-console.exe (die Schiffe mit NUnit v2.5.2) verwenden.

Ein Beispiel für einen Test in meiner Nant-Build-Datei ist:

<target name="x.Commons.Tests" depends="xCore">
<exec program="${nunit-console.exe}" commandline="${nunit-console.args} Core\x.Commons.Tests\x.Commons.Tests.csproj" failonerror="${nunit-console.failonerror}"/>
 </target>

FailOnError auf false gesetzt ist, und der nunit-console.args wird auf '/ nologo'.

Wenn ich diese Tests auf meinem lokalen Rechner laufen bekomme ich Testausgang. Allerdings, wenn ich Teamcity anweisen, meine NAnt Build-Datei zu erstellen und ihn anweisen, die Testziele ich keinen Testausgang zu bekommen Teamcity zu verarbeiten. Ich kann im Protokoll sehen, dass nunit-colsole.exe Tester Ausgabe produziert aber Im sieht dies nicht im Teamcity Armaturenbrett.

Nach der Lektüre um fand ich einige Artikel anzeigt, dass zusätzliche Schritte erforderlich sind, diese Eingabe in Teamcity zu bekommen. Daher verändert ich Test:

    <target name="x.Configuration.Tests" depends="xCore">
  <mkdir dir="C:\Tools\NUnit\bin\net-2.0\addins"/>
  <copy file="${teamcity.dotnet.nunitaddin}-2.5.0.dll" todir="C:\Tools\NUnit\bin\net-2.0\addins"/>
  <copy file="${teamcity.dotnet.nunitaddin}-2.5.0.pdb" todir="C:\Tools\NUnit\bin\net-2.0\addins"/>
  <exec program="${nunit-console.exe}" commandline="${nunit-console.args} Core\x.Configuration.Tests\x.Configuration.Tests.csproj" failonerror="${nunit-console.failonerror}"/>
 </target>

Beachten Sie, dass habe ich auch sicher, dass der Tag einen Eintrag von ‚Add-Ins‘ enthält.

Wie jedoch, bevor ich kann sehen, dass die Tests arbeiten als nunit-console.exe zeigt die Ergebnisse im Protokoll, aber ich bin keine Ausgabe zu bekommen Teamcity.

Eine Antwort auf meine Frage, oder jede mögliche Hilfe würde geschätzt!

War es hilfreich?

Lösung

Mit

<copy file="${teamcity.dotnet.nunitaddin}-2.5.2.dll" todir="C:\Tools\NUnit\bin\net-2.0\addins"/>
<copy file="${teamcity.dotnet.nunitaddin}-2.5.2.pdb" todir="C:\Tools\NUnit\bin\net-2.0\addins"/>

Teamcity Addin für NUnit Version sollte NUnit Version entsprechen. Bitte überprüfen Sie Teamcity-Version unterstützt NUnit 2.5.2 oder neuer Build herunterladen.

Andere Tipps

Die Art, wie wir es tun, ist durch die Nutzung von Teamcity Fähigkeit unter NUnit Tests in CSPROJ Dateien automatisch aufzunehmen.

  • Zuerst müssen Sie die MSBuild Community-Aufgaben installieren .
  • Dann richten Sie Ihre CSPROJ Dateien auf folgende Weise:

    • Lassen Sie sich diese in direkt nach

    • ein ItemGroup erstellen:

    • Ein NUnit Ziel:

  • Dann in Teamcity, in der "Runner" Teil der Projekteinstellung, wählen Sie MSBuild als Läufer und in den Ziele Feld an beide bauen und nunit als Ziele

    Ziele: bauen nunit

Teamcity sollte die Unit-Tests automatisch auf dem nächsten Build abholen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top