我有一个.NET解决方案设置,它包含主要的ASP MVC项目,然后是一个类库项目,它已经为其添加了NUnit以进行单元测试。
当我在TeamCity中构建解决方案时,主项目构建正常但是当测试项目构建时我得到了这些错误
error BC30002: Type 'TestFixture' is not defined.
error BC30002: Type 'Test' is not defined.
error BC30389: 'System.Diagnostics.Assert' is not accessible in this context because it is 'Friend'.
我认为它无法找到 NUnit.dll 或其他内容,但dll位于解决方案包文件夹中。我已经尝试过首先进行包恢复以防万一,但它仍然是这样做的。
更新 好的,只是为了测试它我将Moq添加到项目中以查看它是否会获取引用。它确实运行良好,当我尝试使用NUnit函数时似乎只是问题。我可以禁用它来构建,但肯定NUnit测试不会在Team City中被选中?
谢谢!
答案 0 :(得分:0)
最后解决了这个问题,这是我自己的愚蠢错误。感谢DevOps建议通过MSBuild日志,它帮助我找到问题。
实际的DLL没有被检入源代码控制,因为添加测试项目的开发机器有一个全局忽略文件来忽略所有DLL。所以我认为它就在那里,但它只是.xml文件,我误读了。
无论如何,它现在构建并运行测试。
感谢大家的帮助