2016-01-13 15 views
6

javaの "AbstractBase_step"クラスから継承したいと思います。だから私のようなフックを持つようにしたい:すべてのステップのファイルに対して呼び出されキュウリのクラス拡張ステップ定義とフック

public abstract class AbstractBase_Steps { 
    protected Scenario scenario; 
    @Before 
    public void background(Scenario scenario) { 
     this.scenario = scenario; 
    } 
} 

public abstract class Hello_Steps extends AbstractBase_Steps { 
} 

私はこれを行うと、私は

cucumber.runtime.CucumberExceptionを取得します:ステップ定義やフックを定義するクラスを拡張することはできません。クラスHello_Steps extends class AbstractBase_Steps

誰かがそれについてのトリックを持っていますか?

EDIT:同じステップ定義を再利用するため、新しいCommon_Stepsクラスを作成し、それをグルーパスに含めました。その定義は、テストのすべての機能ファイルで使用できます。

答えて

1

あなたの問題を理解しているので、手順のロジックを減らしたいと思っています。ここに解決策があります。

1))co.com.test

2のような一般的なパッケージの手順を用いて、この場合A共通クラスを定義

@CucumberOptions(format = {"pretty", "html:target/html/"}, 
features = {"src/test/resources/acceptance/general/general.feature"}, 
glue = {"co.com.test"}) 

3基本パッケージを使用する設定手順を定義)継承しません特定のステップを含むクラスBからAへ

これにより、すべてのパッケージでステップが検索され、一般的な手順と特定の手順が見つけられます。

関連する問題