2016-08-23 11 views
0

定義ステップでターゲットタグを指定できますか?Java Cucumber:定義ステップでターゲットタグを指定

feature1.feature 
@feature1 
... 
And I click on "save" button 
... 

feature2.feature 
@feature2 
... 
And I click on "save" button 
... 

どちらの機能は同じグルーファイルを(彼らは一般的な手順の多くを持っている)を使用している:例えば

は、私は2つの機能を持っています。

そして私はこれらの手順は、ルールの異なる実装を持っていることが必要です。

@And("^I click on \"([^\"]*)\" link$") 

はどうすればこれを行うことができますか?定義ステップが(または複数の)タグに対してのみ使用されることを指定するアノテーションはありますか?

@And("^I click on \"([^\"]*)\" link$") 
@Something("@feature1") 
public void i_click_on_link_feature1(String option) { 
    ... 
} 

@And("^I click on \"([^\"]*)\" link$") 
@Something("@feature2") 
public void i_click_on_link_feature2(String option) { 
    ... 
} 

答えて

1

フィーチャファイルタグに基づいてステップ定義を区別することはできません。さまざまなステップ定義方法が必要なステップの言い回しを変更することをお勧めします。 あなたのケースでは目的を果たさないフィーチャーファイルタグをBeforeとAfterフックだけで使用します。

+0

はい、そうです、scenario.getSourceTagNames()でタグ情報を取得できます。完全なソースコードは@Before \t public void beforeScenario(シナリオシナリオ){scenario.getSourceTagNames(); } – cybtow

関連する問題