私は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 で作成される競合はありますか? どうすればこれを解決できますか?