gpt4 book ai didi

cucumber-jvm - 是否可以在运行时跳过 Cucumber-JVM 的场景

转载 作者:行者123 更新时间:2023-12-03 02:12:55 25 4
gpt4 key购买 nike

我想向场景添加标签@skiponchrome,这应该在使用 Chrome 浏览器运行 Selenium 测试时跳过该场景。这样做的原因是因为某些场景在某些环境中有效,而在其他环境中无效,这甚至可能不是特定于浏览器测试的,并且可以应用于其他情况,例如操作系统平台。

Hook 示例:

@Before("@skiponchrome") // this works
public void beforeScenario() {
if(currentBrowser == 'chrome') { // this works
// Skip scenario code here
}
}

我知道可以在 cucumber 标签中定义 ~@skiponchrome 来跳过该标签,但我想在运行时跳过标签。这样我在某个环境上开始测试运行时就不必提前考虑要跳过哪些步骤。

我想创建一个钩子(Hook)来捕获标签并跳过场景而不报告失败/错误。这可能吗?

最佳答案

我意识到这是对已回答问题的较晚更新,但我想直接再添加一个选项supported通过 cucumber -jvm:

@Before //(cucumber one)
public void setup(){
Assume.assumeTrue(weAreInPreProductionEnvironment);
}

“如果 weAreInPreProductionEnvironment 为 false,则场景将被标记为忽​​略(但测试将通过)。”

您需要添加

import org.junit.Assume;

与已接受答案的主要区别在于 JUnit assume failures behave just like pending

重要因为 bug fix您将需要 cucumber-jvm 版本 1.2.5,在撰写本文时该版本是最新版本。例如,上面的代码将在 cucumber-java8-1.2.3.jar 中生成失败而不是挂起

关于cucumber-jvm - 是否可以在运行时跳过 Cucumber-JVM 的场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16037999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com