bugfix> java > 投稿

これが私の問題です。 実行するenvを識別するための機能レベルの@envタグと、実行するenvを識別するためのシナリオレベルの@currentタグがあります。

機能ファイルは(envに応じて)異なるフォルダーに配置され、@ Cucumberoptionsを使用してタグ固有の機能ファイルパスを設定しました。

ここまではすべて良い。

ただし、機能ファイルを実行すると、機能ファイルのタグに関係なく、@ currentタグですべてのシナリオが選択されます。 E.G.向けキュウリオプションに@ Env1と@ Env2のみを追加しましたが、@ Env3機能も選択して実行します。 @cucumberOptionsに記載されていない機能ファイルを実行するためにキュウリを停止するにはどうすればよいですか?

ANTターゲットコードは次のとおりです。

<java classname="cucumber.api.cli.Main" fork="true" failonerror="false" resultproperty="cucumber.exitstatus"> <sysproperty key="log4j.configuration" value="file:///${basedir}/log4j.conf"/> <classpath refid="classpath"/>
<arg value="--monochrome"/> <arg value="--format"/> <arg value="junit:target/cucumber-junit-report/allcukes.xml"/> <arg value="--format"/> <arg value="pretty"/> <arg value="--format"/> <arg value="html:target/cucumber-html-report"/> <arg value="--glue"/> <arg value="src.test.cucumber.userlevel"/> <arg value="features"/> <arg value="--tags" /> <arg value="@current"/> <arg value="--tags" /> <arg value="~@obsolete" /> <arg value="--tags" /> <arg value="~@business" />
</java>

どんな回答も歓迎します。

ありがとう。

回答 1 件
  • これを機能させるには、タグフィルター式でAND、ORの組み合わせを使用する必要があります。 AntからCucumberを実行する方法についてはあまりよくわからないため、cucumberoptionsおよびcliのタグフィルターを含めます。

    キュウリのオプションについて ->  tags={"@Env1,@Env2","@Current"}

    CLIの場合 ->  --tags @Env1,@Env2 --tags @Current  

    アリ用 -> 

    <arg value="--tags" />
    <arg value="@Env1,@Env2"/>
    <arg value="--tags" />
    <arg value="@Current" />
    
    

あなたの答え