NAnt 0.86 ベータ版で NUnit v2.4.8 テストを実行するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/45415

  •  09-06-2019
  •  | 
  •  

質問

最近、NAnt (ベータ 0.86.2962.0) を使用して、NUnit の最後の安定バージョン (v2.4.8) でコンパイルされたいくつかの単体テストを実行しようとしましたが、成功しませんでした。

私が受け取るエラーは次のとおりです。

[nunit2] アセンブリ "C:\Dev\MySample\bin ests\My.Sample.Tests.dll" にはテストが含まれていません。

もちろん、アセンブリには、NUnit 1、TestDriven、Resharper などの任意のランナーから実行できるテストが含まれています。<exec> タスクを直接使用するのではなく、<nunit2> タスクを使用したいのですが、app.config ファイルを使用してアセンブリのバージョンをバインドしても、まだ可能かどうか疑問に思っています。

役に立ちましたか?

解決

理由は覚えていませんが、<nunit2> タスクの使用を諦め、<exec> タスクと nunit-console.exe を快適に使用しています。役立つ場合は、NUnit と FxCop を実行するテスト ターゲットを次に示します。実行可能ファイルが Windows パスにない場合はスキップされることに注意してください。

<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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top