1

私はcucumber-jvmを使用しています。

ブラウザーのサイズ、アプリケーションの URL など、必要なものをすべて初期化する init メソッドがあります。この 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 で作成される競合はありますか? どうすればこれを解決できますか?

4

1 に答える 1