黄瓜在时间后逐步停止执行

Cucumber Stopping Execution after Time in Steps

我的一个测试一直等到 Then 步骤中发生事件。如果测试工作正常,则没有问题,但如果测试失败(即没有触发任何事件),那么它就会挂起。

如何在 Cucumber 中设置超时?

我知道 JUnit 有一个可以在 @Test annotation 中使用的超时参数,Cucumber 有类似的东西吗?

Cucumber 遵循 JUnit 模式并在其步骤注释中提供了 timeout 参数。这需要一个 long 值,指定步骤失败后未完成执行的毫秒数。

您可以按如下方式使用:

@Then(value = "^verify (\d+) events sent$", timeout = 5000)

这也适用于其他步骤类型(例如 GivenWhen)。

不要忘记在步骤定义字符串前添加 value =