如何让 TeamCity 获取从 Rake 运行的 NUnit 测试?
题
当我运行这个时:
sh "#{MBUNIT_PATH}Gallio.Echo.exe /no-echo-results src/#{dll}/bin/Debug/#{dll}.dll"
在我的 rakefile 中,Gallio 运行我的 mbunit 测试,并且 团队城市 获取结果:D
但是这个:
sh "#{NUNIT_PATH}nunit-console.exe /nologo src/#{dll}/bin/Debug/#{dll}.dll"
确实运行了我的测试,但 TeamCity 没有获取结果:(
我首先尝试运行我的 单位 测试通过 加里奥, ,但它没有检测到任何测试:(
使用 teamcity NUnit 启动器我得到:
Failure executing test(s) on assembly nunittests.dll with NUnit 2.5.0.9122. Version 2.0 is not a compatible version.
有什么办法解决这个问题?我如何让 Gallio 接受我的 NUnit 测试,或者如何让 TeamCity 接受 nunit-console。
解决方案
您需要使用内置的 NUnit 运行程序。
如果您查看构建代理的目录,只需搜索 *.exe。应该有一个叫 NUnit-Runner.exe
或类似的东西。然后您需要使用它。
看看文章吧 使用 Rake 和 TeamCity 构建 .NET 解决方案. 。大约 3/4 的地方他表达了我的意思:
为了实现上述目标,我在 Ruby 中做了类似的事情。我设置了一个 $NUnit 变量,如果属性 ENV['AGENT_WORKING_DIR'] 存在,那么我使用 TeamCity NUnit 运行程序,否则我使用普通的 NUnit(也就是说,开发人员可以运行 Rake 脚本)。
不隶属于 StackOverflow