方案大纲中带有多个示例表的黄瓜标记

时间:2018-06-26 10:55:48

标签: java cucumber

在我的黄瓜方案纲要中,我的示例表中的一些示例正在传递,而有些则失败了。

我正在尝试向其中添加标签,因此我可以运行通过的标签,并跳过当前失败的标签。

我试图复制一些我在网上找到的示例,但出现错误。

以下是我最近的尝试:

    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      |

但是, @passing 出错。这是出现的错误消息:

  

输入“ @passing”不匹配,预期为“示例:”

我已经复制了一个在线示例,所以我不知道为什么这会引发错误?

1 个答案:

答案 0 :(得分:0)

也许您应该再次检查依赖项。

假设以下结构

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)