我们使用NUnit进行单元测试,使用TeamCity作为CI服务器。每次提交后,所有测试都在执行。如果某些测试失败,则会发送电子邮件通知。
一切顺利,但今天我注意到许多测试都被忽略了。我也看到了描述原因的消息:
MyApplicationTests中的TestFixtureSetUp失败
我很困惑为什么这些测试被忽略但没有失败。我担心的是开发人员认为一切进展顺利,但实际测试没有运行(忽略)。
问题:如果TestFixtureSetUp失败,如何配置NUnit使测试失败(而不是忽略)?
如果忽略测试,也许我们可以将TeamCity配置为发送电子邮件通知。但这不是我想要的,因为我们有一些标有Ignore
属性的测试。因此,通知将每次发送并变得无用。
答案 0 :(得分:0)
TeamCity无法过滤此事件并以不同方式向您报告。似乎无法以编程方式使TestFixtureSetUp
回调中的所有测试失败。
所以,在我看来,你没有机会密切监视你的构建结果中的Ignore
。似乎没有自动的方法将它们与你实际忽略的测试区分开来。
作为旁注,每当我或我的同事使用Ignore
属性(在我的职业生涯中)标记测试时,它就不是暂时的。永远永久。在我看来,我们应该非常小心地使用Ignore
旗帜。