我们在Visual Studio中使用SpecFlow和NUnit。非常有用,等等。一旦我们完成开发,签入的代码将转到构建服务器,该服务器使用Jenkins构建并运行所有测试。非常有帮助,等等。
然而,有一个令人讨厌的漏洞:如果您使用了不定义的SpecFlow中的步骤,则使用默认步骤定义将测试标记为不确定,并且然后b / NUnit忽略不确定的测试(显然MSTest失败了),然后c / Jenkins没有检测到问题并传递了构建。这意味着我们的构建服务器可以通过甚至无法正确定义的测试。
所以,任何人都可以: - 告诉我如何让SpecFlow在丢失的步骤上抛出错误? (无法在网上找到它或其他任何选项)或者: - 告诉我如何让NUnit将不确定的测试视为失败? (再一次,无法在网上找到它的选项)或者: - 不知何故让詹金斯拿起不确定的结果并将其视为失败?
将考虑所有建议,包括左侧字段!谢谢。
答案 0 :(得分:2)
有一个配置选项可以更改此行为。
有关文档,请参阅here。我们在这里感兴趣的配置是missingOrPendingStepsOutcome
。
默认设置为:
missingOrPendingStepsOutcome="Inconclusive"
我们只需要更改(或添加设置),如下所示:
missingOrPendingStepsOutcome="Error"