我在使用命令行NUnit测试运行器运行测试时遇到问题。
我在x64机器上使用2.5.4版和.NET 4。
使用以下行导致失败“无法加载文件或程序集'bar‘或其依赖项之一。系统找不到指定的文件。”
nunit-console-x86 foo.dll bar.dll /framework=4.0.30319如果我颠倒dll文件名,它会抱怨没有找到'foo‘...
如果我单独运行它们,它会起作用,如下所示:
nunit-console-x86 foo.dll /framework=4.0.30319如果我运行以下命令,第二个文件的测试也会正常工作:
nunit-console-x86 bar.dll /framework=4.0.30319在将我们的项目升级到4.0之前,我们使用了NUnit 2.5.2和相同的命令行工具选项,在这一点上,runner可以很好地处理多个程序集。同时在多个文件上运行测试的能力似乎被打破了……
任何人都可以看到相同的行为,或者它是否工作,表明我的环境以某种方式被破坏了?
/Per
发布于 2010-04-17 00:46:39
程序集加载行为在2.5.4和2.5.3之间发生了变化。它给我们带来了问题,所以我们恢复到2.5.3,因为它仍然支持4.0框架。
我们在msbuild脚本中使用nunit-console.exe 2.5.3和多个程序集,如下所示:
<Exec Command="%22$(NUnit_Install_Directory)bin\net-2.0\nunit-console.exe%22
/noshadow @(TestableAssemblies, ' ') /xml $(BuildFilesPath)\NUnit-Results.xml" />在执行时,它像这样填写(为了可读性而编辑):
D:\BuildAgent\GojiSoft.Application.Test\bin\Release\GojiSoft.Application.Test.dll D:\BuildAgent\GojiSoft.Common.Test\bin\Release\GojiSoft.Common.Test.dll D:\BuildAgent\work\2f016459feee51ce\Build\NUnit-Results.xml
"c:\Program Files\NUnit 2.5.3\bin\net-2.0\nunit-console.exe“/noshadow
我们的单元测试不使用64位机器,所以YMMV。
我有一篇关于您应该对nunit-console-x86.exe.config进行额外修改的博客文章:Getting .Net 4.0, Team City, MSBuild and Nunit to play nice.
发布于 2010-04-21 23:22:58
我也有同样的问题。我在GUI中创建了一个包含多个dll的nunit项目,从而解决了这个问题。然后我可以使用nunit-console运行它。
https://stackoverflow.com/questions/2653758
复制相似问题