2012-10-03 6 views

答えて

15

はキュウリのオプションを渡すことにより、Java-helloworldの例を実行する方法のキュウリ、JVMのレポからsnippetです:

mvn test -Dcucumber.options="--format json-pretty --glue classpath:cucumber/examples/java/helloworld src/test/resources" 

それは@Cucumberのすべてのオプションをオーバーライドすることに注意してください。あなたが "RunCukesTest"に持っているオプション注釈。私は自分のテストではうまく機能しませんでしたが、おそらくこれが役に立ちます。

Javaクラスパスや "--glue"パラメータを使ってコードがどこにあるかなど、キュウリを実行するために必要なすべてのオプションを与える必要があるようです。

+0

ありがとうございます!特定の機能やシナリオを実行するために "--name Something"を実行しようとしています。実行したい機能やシナリオに名前にスペースが含まれていると、これが機能しないことがわかりました。コマンドラインでスペースを逃さなければなりませんか? –

+0

そうですね、引用符が必要だと思います。二重引用符( ")が動作しない場合は、一重引用符( ')を使用してください。スラッシュで引用符をエスケープしたり、他のすべてが失敗した場合は変数置換を使用してください。 変数置換によって、 Linuxの場合: export FEATURE_NAME = "My Feature with Spaces" mvn test -Ducucumber.options = " - name $ FEATURE_NAME" ...など ちょっとしたアイデアは、私の特別なケース:) – Fab

+1

私はこの分野で1ヶ月前に発生したバグがまだ修正されていないと思います。https://github.com/cucumber/cucumber-jvm/issues/379 –

0

テストは別々のJVMで実行されているため、テストプラグインの設定(つまり、pom.xmlのsurefireまたはfailsafeプラグイン設定)でシステムプロパティを指定する必要があります。ここで

関連する問題