bugfix> java > 投稿

私のキュウリのシナリオの概要では、私の例の表の例のいくつかは合格し、いくつかは失敗しています。

これらにタグを追加しようとしているので、合格したものを実行し、現在失敗しているものをスキップできます。

オンラインで見つけたいくつかの例をコピーしようとしましたが、エラーが発生しています。

以下は私の最新の試みです。

   Scenario Outline: BR001 test
    Given...
    When...
    Then...
    @passing
    Examples:
    |     errorCode    |
    |      BRS002      |
    |      BRS003      |
    |      BRS004      |
    |      BRS005      |
    |      BRS008      |
    |      BRS010      |
    |      DE19716     |
    |      BRS006      |
    |      BRS009      |
    @failing
    Examples:                               
    |     errorCode     |
    |       DE19716     |
    |       BRS006      |
    |       BRS009      |

しかし、エラーがあります@通過。エラーメッセージが表示されます。

mismatched input '@passing' expecting 'Examples:'

オンラインの例をコピーしたので、なぜこれがエラーを投げているのか分かりませんか?

回答 1 件
  • 依存関係をもう一度確認する必要があるかもしれません。

    次の構造を仮定する

    src/test/java/features/userdata.feature
    src/test/java/glue/StepPojo.java
    src/test/java/myRunner/TestRunner.java
    pom.xml
    
    

    pom.xml 依存関係

    <properties>
        <version.cucumber>3.0.2</version.cucumber>
    </properties>
    <dependencies>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-java</artifactId>
            <version>${version.cucumber}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>io.cucumber</groupId>
            <artifactId>cucumber-junit</artifactId>
            <version>${version.cucumber}</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    
    

    userdate.feature - Scenario Outline を修正  例のために

    シナリオ概要:BR001テスト     何かを与えられた     いつ起こるか     次に、結果「」

    ...両方のタグ付き「例:」セクション

    StepPojo.java

    パッケージ接着剤;

    import cucumber.api.java.en.Given;
    import cucumber.api.java.en.Then;
    import cucumber.api.java.en.When;
    public class StepPojo {
        @Given("^something$")
        public void something() throws Throwable {
            System.out.println("something");
        }
        @When("^happen$")
        public void happen() throws Throwable {
            System.out.println("happen");
        }
        @Then("^result$")
        public void result() throws Throwable {
            System.out.println("result");
        }
        @Then("^result \"([^\"]*)\"$")
        public void result(String errorCode) throws Throwable {
            System.out.println("result = " + errorCode);
        }
    }
    
    

    TestRunner.java

    import cucumber.api.CucumberOptions;
    import cucumber.api.junit.Cucumber;
    import org.junit.runner.RunWith;
    @RunWith(Cucumber.class)
    @CucumberOptions(
            features = "src/test/java/features/userdata.feature",
            glue = {"glue"},
            tags = {"@failing"}
    )
    public class TestRunner {
    }
    
    

    mvn test の出力  

    -------------------------------------------------------
     T E S T S
    -------------------------------------------------------
    Running myRunner.TestRunner
    something
    happen
    result = DE19716
    something
    happen
    result = BRS006
    something
    happen
    result = BRS009
    3 Scenarios (3 passed)
    9 Steps (9 passed)
    
    

あなたの答え