Frage

Ich habe kürzlich versucht, mit NAnt (Beta 0.86.2962.0) einige Unit-Tests auszuführen, die mit der letzten stabilen Version von NUnit (v2.4.8) kompiliert wurden, ohne Erfolg.

Der Fehler, den ich erhalte, ist der folgende:

[nunit2] Assembly „C:\Dev\MySample\bin ests\My.Sample.Tests.dll“ enthält keine Tests.

Natürlich enthält die Assembly Tests, die ich von jedem Runner aus ausführen kann, wie NUnit One, TestDriven oder Resharper.Ich würde gerne die <nunit2>-Aufgabe verwenden und nicht direkt die <exec>-Aufgabe, frage mich aber, ob es noch möglich ist, sogar app.config-Dateien zum Binden von Assemblyversionen zu verwenden.

War es hilfreich?

Lösung

Ich kann mich nicht erinnern, warum, aber ich habe es aufgegeben, die Aufgabe <nunit2> zu verwenden, und verwende stattdessen die Aufgabe <exec> und nunit-console.exe mit Freude.Wenn es hilft, hier ist mein Testziel, auf dem NUnit und FxCop ausgeführt werden.Beachten Sie, dass sie übersprungen werden, wenn sich die ausführbaren Dateien nicht im Windows-Pfad befinden.

<target name="test" description="Run unit tests" depends="build">
  <property name="windows-path" value="${string::to-lower(environment::get-variable('PATH'))}"/>
  <property name="nunit-in-path"
      value="${string::contains(windows-path, 'nunit')}"/>
  <echo message="Tests skipped because no NUnit folder was found in the Windows path."
      unless="${nunit-in-path}"/>
  <exec program="nunit-console.exe" if="${nunit-in-path}">
      <arg file="../MyProject/MyProjectTest.nunit"/>
  </exec>
  <property name="fxcop-in-path"
      value="${string::contains(windows-path, 'fxcop')}"/>
  <echo message="FxCop skipped because no FxCop folder was found in the Windows path."
      unless="${fxcop-in-path}"/>
  <fxcop projectFile="../MyProject/MyProject.fxcop" directOutputToConsole="true" 
      failOnAnalysisError="true" if="${fxcop-in-path}"/>
</target>
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top