2016-09-01 3 views
2

現在、私はセレンとJavaとの組み合わせでキュウリ試験でいくつかのことを試しています。Javaの別のクラスのCucumberランナークラスを開始

は今、私の質問は:

それは別のクラスからRunCucumberクラスを開始することは可能ですか?

は、これまでのところ私は、Eclipseからキュウリを開始するには、このクラスを書かれている:

@RunWith(Cucumber.class) 
@CucumberOptions(
    plugin = {"pretty","json:target/json/jsonoutPretty.json"}, 
    features={"src/main/resources/FeatureFiles"}, 

) 
public class RunCucumber{ 

} 

が、今私は他からこのRunCucumberクラスを開始したいです。このような 何か:

public class startTests { 

    public void startRunCucumber(){ 

     run(RunCucumber.class); 
    } 

} 

はそれをachiveすることが何とか可能ですか?

ありがとうございます!

+0

なぜそれをしたいですか? –

+0

例えば、生成されたJSONファイルは、キュウリのオプションによって引き起こされるクラスのランタイムの始めと終わりにのみ利用できます。実行時にJSONファイルは空です。したがって、すべてのテストを実行したり、JSONレポート(RESTサービスなど)を1回にアップロードすることはできません。だから私はキュウリクラスが実行される前にJSONの結果をアップロードしようとしています。したがってJSONファイルをアップロードしてその後キュウリテストを実行する別のクラスを作成しました。 – MrRusskk

答えて

1

可能です。 Cucumberのdomnande Lineバージョンで使用されるメインメソッドを実行することができます。

クラスからcucumber.api.cli.Main.main()を呼び出します。

+0

「フィーチャーディレクトリまたはフィーチャーファイルへのパスがありません」 「0シナリオ」 「0ステップ」 「0m0,000s」 ありがとうございました! これを呼び出そうとすると、私のフィーチャーファイルはもう見つかりません。 – MrRusskk

+0

はい、コールの引数のパスを設定します。便利な例はありませんが、https://github.com/cucumber/cucumber-java-skeleton/blob/master/build.xml、特に61〜63行目をご覧ください。 main()メソッドに渡す配列に設定する必要がある引数を見つける –

関連する問題