4

テストの実行とレポートの生成に必要なすべてのライブラリが含まれている実行可能な JAR に受け入れテストをパッケージ化したいと考えています。また、すべてのテストまたは単一のテストを実行したいと思います。

これまでのところ、すべてのテストを実行でき、レポートは serenity.properties で指定した場所に生成されていますが、index.html は生成されていません。

通常、serenity-maven-plugin を実行する maven verify ゴールを使用してテストを実行しますが、JAR から実行しているため、どうすれば同じことを達成できるかわかりません。

次のようなメインクラスがあります。

@RunWith(CucumberWithSerenity.class)
@CucumberOptions(features = "classpath:com/cfhayes/test/LookupADefinition.feature")
public class DefinitionTestSuite {
  public static void main(String[] args) throws Exception {
    JUnitCore.main("com.cfhayes.test.DefinitionTestSuite");
  }
}

また、機能ファイルではタグを使用して、実行するシナリオを 1 つ指定できるようにしています。

Feature: Lookup a definition

  @TEST-0001
  Scenario: Looking up the definition of 'apple'
    Given the user is on the Wikionary home page
    When the user looks up the definition of the word 'apple'
    Then they should see the definition 'A common, round fruit produced by the tree Malus domestica, cultivated in temperate climates.'

  @TEST-0002
  Scenario: Looking up the definition of 'pear'
    Given the user is on the Wikionary home page
    When the user looks up the definition of the word 'pear'
    Then they should see the definition 'An edible fruit produced by the pear tree, similar to an apple but elongated towards the stem.'

実行可能な JAR で JVM 引数を使用して、何らかの方法でキュウリのオプションを設定できる方法があることを願っています。私はこのようなことをしてみました:

java -jar my-test-jar.jar -Dcucumber.options="--tags @TEST-0001" 

...しかし、それでもすべてのテストが実行されます。

どんなアイデアでも大歓迎です。

4

1 に答える 1

5

コマンドの作成方法が正しくない可能性があります。cucumber オプションはcom.cfhayes.test.DefinitionTestSuite::main、java オプションではなく引数として使用されます。これを試して:

java -Dcucumber.options="--tags @TEST-0001" -jar my-test-jar.jar

または、代わりにクラスでキュウリのオプションを処理します。

于 2016-06-01T21:18:18.497 に答える