2017-01-10 2 views
0

私は2つのjava mavenプロジェクトxxx-testyyy-testを持っています。JBuave再利用手順を従属プロジェクトから

どちらもtest-utilに依存しています。

Thenステップメソッドはtest-utilに入れたいので、xxx-testyyy-testの両方を使用できます。言い換えれば、xxx-testThenのステップがあり、メソッドにマップされているものがtest-utilであることが必要です。

これは可能ですか?これを実行しようとすると、ThenのステップはPENDINGのステータスになり、実行されません。ここで

はJBehaveのドキュメントは、トラブルシューティングをチェックするためにこう言われる、

  • 方法が公開され
  • メソッドのアノテーションを考える@/@とき/ @ は、ステップパターンで使用したキーワードに対応し、その後注釈が パラメータ

のすべてのプレースホルダを使用して、ステップをマッチングさ

  • で指定弾丸が保持されます。だから何をすべきか分からない。

    UPDATE: 私はまた、統合テストを実行しますmaven-failsafe-pluginに依存関係を追加しようとしました。私はdependenciesToScanパラメータを意味します。私は助けなかった。同様にdependenciesパラメータ。

  • 答えて

    0

    テストランナーコードにtest-utilクラスを含める必要があります。説明しているこの方法は可能であるだけでなく、推奨されています。すべての再利用可能なステップは、他のテストの両方でステップを繰り返すことによって "重複ステップ"を回避できるように、共通クラスに配置する必要があります。私が持っている1つの設定では、「グループ」を作成するために必要なすべてのステップを含むファイルと、作成されたグループのオプションを「登録」するために必要なすべてのステップを含む2つのステップファイルしかありません。私は約12の異なる物語を持っていますが、ほとんどすべて同じステップを使用しますが、ほんのわずかな例外がありますが、それらの例外も2つのステップファイルに含まれています。この方法では、すべてのストーリーは「私が...にログインしている」から始めることができ、ストーリー・ファイルの名前に対応するステップ・ファイル内にすべてのステップを保持する場合と同様に警告をスローしません。

    私はあなたをさらに混乱させていません。

    +0

    ありがとうございますが、問題を誤解しています。 test-utilはクラスではなく、別のモジュールです。他のモジュールから呼び出すことができる 'then'メソッドを用意して、別のモジュールで再利用できるようにしたい。同じモジュール内のクラスに配置すると、うまく動作します。別のモジュールに入れようとすると、JBehaveはそれを見つけることができません。 –

    +0

    標準であるかどうかわかりませんが、私たちのJBehaveはもともと見つかった/ .storyファイルごとに対応する.javaファイルをロードしていました。コードを変更して、代わりに\ src \ test \ stepsフォルダに含まれるすべてのクラスをロードしましたが、唯一の例外はtestrunnerです。 test-utilモジュールが同じフォルダにある場合は、スイートを実行する前にロードするステップのリストに単純に含めます。コードはかなり短いですが、あなたのフレームワークには当てはまらないかもしれません。あなたが望むなら、私はそれを投稿することができます。 –

    関連する問題