ctf*_*ord 4 nant nunit .net-3.5
我正在使用NUnit 2.5和NAnt 0.85来编译.NET 3.5库.因为NAnt 0.85不支持开箱即用的.NET 3.5,所以我已经将3.5框架的条目添加到NAnt.exe.config.
'MyLibrary'构建,但当我点击"测试"目标执行NUnit测试时,它们似乎都没有运行.
[nunit2] Tests run: 0, Failures: 0, Not run: 0, Time: 0.012 seconds
Run Code Online (Sandbox Code Playgroud)
以下是我的NAnt.build文件中用于构建和运行测试的条目:
<target name="build_tests" depends="build_core">
<mkdir dir="Target" />
<csc target="library" output="Target\Test.dll" debug="true">
<references>
<include name="Target\MyLibrary.dll"/>
<include name="Libraries\nunit.framework.dll"/>
</references>
<sources>
<include name="Test\**\*.cs" />
</sources>
</csc>
</target>
<target name="test" depends="build_tests">
<nunit2>
<formatter type="Plain" />
<test assemblyname="Target\Test.dll" />
</nunit2>
</target>
Run Code Online (Sandbox Code Playgroud)
我需要注意一些版本问题吗?Test.dll在NUnit GUI中运行正常.
测试dll肯定是被发现的,因为如果我移动它我会收到以下错误:
执行测试失败.如果你没有使用NUnit 2.2.8.0构建程序集...无法加载文件或程序集'Test'或其依赖项之一...
如果有人能指出我正确的方向或描述他们遇到的类似情况,我将不胜感激.
编辑我已经尝试使用NAnt 0.86 beta 1,并出现同样的问题.
Nunit2 Nant任务仍然是硬编码使用Nunit 2.2库.
请参阅文档:http://nant.sourceforge.net/release/latest/help/tasks/nunit2.html
"使用NUnit V2.2框架运行测试"
您可以使用程序集绑定重定向对其进行排序,但我认为建议只是使用Nant <exec>任务并直接调用NUnit 2.5控制台运行程序.
例如:
<!-- Run Unit Tests under NUnit 2.5 -->
<exec program="${LibraryPath}\NUnit\2.5.7\nunit-console.exe">
<arg value="${SourcePath}\ProjectName.Tests\bin\Release\ProjectName.Tests.dll" />
</exec>
Run Code Online (Sandbox Code Playgroud)
反正要简单得多.
我通过TeamCity运行它,单元测试输出似乎仍然正常.