jenkins - 使用 Jenkins 和 NUnit 时,如何使未记录的 SpecFlow 测试失败(不会标记为不确定)?

标签 jenkins nunit specflow

我们在工作中使用 Visual Studio 中的 SpecFlow 和 NUnit。非常有用,等等。一旦我们完成开发, checkin 的代码就会转到构建服务器,该服务器使用 Jenkins 构建和运行所有测试。非常有帮助等等。

但是,有一个恼人的漏洞:如果您在 SpecFlow 中使用了未定义的步骤,则使用默认步骤定义将测试标记为不确定,然后 b/NUnit 忽略不确定测试(显然 MSTest 使它们失败相反),然后 c/Jenkins 没有检测到问题并通过构建。这意味着我们的构建服务器可以通过甚至没有正确定义的测试。

那么,任何人都可以:
- 告诉我如何让 SpecFlow 在丢失的步骤上抛出错误? (在网上找不到它或任何东西的选项)或:
- 告诉我如何让 NUnit 将不确定性测试视为失败? (再一次,在网上找不到它或任何东西的选项)或:
- 以某种方式让 Jenkins 接受不确定的结果并将其视为失败?

将考虑所有建议,包括左场建议!谢谢你。

最佳答案

有一个配置选项可以更改此行为。
here对于文档。我们在这里感兴趣的配置是missingOrPendingStepsOutcome .
默认设置为:

missingOrPendingStepsOutcome="Inconclusive"
我们只需要更改(或添加设置)如下:
missingOrPendingStepsOutcome="Error"

关于jenkins - 使用 Jenkins 和 NUnit 时,如何使未记录的 SpecFlow 测试失败(不会标记为不确定)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36796078/

相关文章:

jenkins - 在构建中止时优雅地停止构建步骤(插件)

c# - 在 NUnit 中捕获断言失败的正确方法

c# - 带有 ASP.NET 网站的 NUnit

testing - MSBuild 的目标是运行所有测试,即使有些测试失败

SpecFlow - 空引用异常

jenkins - 匿名访问jenkins工作区

macos - 如何在 Mac 上完全卸载 Jenkins

jenkins - 如何在 Jenkins 上生成 Gradlew?

SpecFlow ScenarioContext.Current 总是返回 null

c# - 如何使用 XPath 和使用参数获取值?