当使用NUnit控制台运行时,NUnit测试成功,当作为TeamCity构建步骤运行时,某些测试失败。同一台机器

时间:2018-07-25 08:17:22

标签: .net nunit teamcity nunit-console nunit-2.6

我有一个带有NUnit测试的DLL。当TeamCity尝试将其作为构建步骤运行时,该DLL中的一些测试(并非全部)失败。但是,当我使用NUnit的独立版本(相同版本)运行它们(与TC在同一台计算机上)时,所有测试都通过了。

我已经尽力从TC复制设置,但是当测试在同一台计算机上运行时,我仍然得到不同的结果。

运行NUnit控制台时,我使用的是TC构建的相同程序集。

这些是我在“ nunit-console.exe”中使用的参数:

PS Downloads\NUnit-2.6.4\bin> .\nunit-console.exe "pathToDll" /framework:net-4.0 /process:multiple

这就是我在TC中使用的语言。

A picture of my TC NUnit settings, they are described in more detail below

这些是文本中的TC设置:

  • NUnit运行器:NUnit 2.6.4
  • .NET运行时平台:自动(MSIL)
  • .NET运行时版本:v4.0
  • 每个程序集运行过程:true
  • 减少测试失败反馈时间:true
  • .NET Coverage工具:

是否有任何线索可能造成这种差异,或者是否知道TC在NUnit上的运行情况如何,所以我可以尝试在我的开发机上复制它?

通过TC测试失败时,我得到的实际错误是: System.IO.FileLoadException : Could not load file or assembly 'Castle.Core, Version=3.3.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

我在该版本的Castle.Core的TC和运行该计算机的计算机上都搜索了整个解决方案,但没有找到。我不明白为什么仅在TC运行该文件时才尝试加载此文件,而没有其他时间...

我无法找到TC使用的实际NUnit运行器。有人知道那儿住吗?

我尝试过的事情:

从TC计算机中删除名称为Castle.Core的每个文件/文件夹/ dll,并重建项目。

通过nunit-consolenunit GUI(带有或不带有“项目”)运行NUnit DLL

预先感谢

PS。是的,我知道我们应该更新到NUnit 3 .DS

0 个答案:

没有答案