我正在使用黄瓜-jvm。
我有一个 init 方法来初始化所有必要的东西,例如浏览器尺寸、应用程序 url 等。我已将此 init 方法放在 @Before (cucumber.api) 标记下。
@Before
public void initLoginPage() throws Exception {
getBrowserDimension();
setBrowserCapabilities();
init(getApplicationUrl());
}
我的生活很顺利,顺利进行。现在,我还想在场景级别对某些标签使用@Before。假设我的场景如下所示:
@myTag
When I do blah
Then I should get blah-blah
我想使用类似的东西:
@Before(@myTag)
public void beforeScenario(){
blah = true;
}
但是当我给它另一个@Before 的那一刻,它开始给出一个 NullPointerException。我将其追溯到 Cucumber 的 Runtime 类中的 runBeforeHooks 和 runHookIfTagsMatch 方法。他们正在为@Before(对于initLoginPage())本身抛出异常。多个@Before 是否会产生冲突?我该如何解决这个问题?