特徴ファイル名を含むカスタムcucumberoptionsをランナークラスに送信する方法を説明します。これにより、キュウリ試験と非キュウリ試験の両方をtestng.xmlから実行することができます。任意のオプションのオーバーライドが@CucumberOptions注釈のために提供されている場合は、テキストの下
は「キュウリJavaのための」ブックの詳細...
キュウリのチェックに基づいています。上から下にチェックされた後、いずれかが検出された後に停止します。
- OS環境変数CUCUMBER_OPTIONS
- Javaシステムプロパティcucumber.options
- キュウリとJavaのリソースバンドルのcucumber.properties。 optionsプロパティ
オーバーライドで見つかった値は、プラグイン引数を除くすべての値を置き換えます。プラグイン引数が追加されます。上書きされない引数は影響を受けません。あなたはまた、次のように日食に...
セットアップとして実行コンフィギュレーションをAbstractTestNgCucumberTestsが、使用組成物を拡張しないTestNGのキュウリクラスを使用して実行することができます
testng.xml
<suite name="Default suite">
<test name="Cucumber Mix">
<classes>
<class name="cucumtestng.test.RunAbstractSampleTest"></class>
<class name="cucumtestng.test.NormalTest"></class>
</classes>
</test>
</suite>
@CucumberOptions(features="",glue="cucumtestng.test.stepdefs",snippets=SnippetType.CAMELCASE,
plugin={"pretty", "html:report", "json:reports.json"})
public class RunAbstractSampleTest extends AbstractTestNGCucumberTests {
}
public class NormalTest {
@Test
public void f() {
System.out.println("NORMAL TESTNG CLASS");
}
}
...

あなたはMavenを使用していますか? – Grasshopper
Mavenは私たちが探している候補ですが、私は特定のビルドシステムに依存しないソリューションを好むでしょう。私はCuccumber Javaソースを見てきましたが、これを行う方法を見つけた可能性があります。 TestNGCucumberRunnerのv1.2.4を使用して、私はCucumberFeatureオブジェクトのリストにアクセスできます。リストをスキャンして、testngパラメータを使用して入力した文字列と同じ "パス"を持つフィーチャを探します。次に、runCucumberメソッドを使用してランナーに一致する機能を使用することができます。少なくともそれは理論です:-)。私はそれを試してみるつもりです。 –
これは、TestNGCucumberRunnerのgetFeatures()の実装を変更するオプションです。簡単な方法があります。ランナークラスを呼び出すときに、cucumberoptionsタグをオーバーライドすることができます。 https://github.com/cucumber/cucumber-java-skeletonは、「オプションの上書き」を参照してください。 Mavenはこのパラメータを渡す簡単な方法を提供します。これをtestng.xmlにも渡す方法があるはずです。 – Grasshopper