我们是否总是需要单独的跑步者班来进行黄瓜测试?

时间:2018-08-14 11:08:24

标签: cucumber-jvm cucumber-java cucumber-junit

对于黄瓜项目,网络上几乎每个参考文献都有一个单独的跑步者班级,班级中没有任何内容。似乎是浪费班级。 我的情况,以下是项目框架

RestTestContext.java

public class RestTestContext {
private Map<String, String>           restParams    = new HashMap<>();

public void setRestParams(Map<String, String> params) {
       this.restParams.putAll(params);
    }

public Map<String, String> getRestParams() {
        return this.restParams;
    }
}

接下来我有StepDefinitions.Java 还有一个 TestRunner.Java具有,

@RunWith(Cucumber.class)
@CucumberOptions(features = {"src/test/resources/features/"},
            tags = {"@run"},
            dryRun = false,
            monochrome = true
        )

public class TestRunner{

}

这当然很好。

现在我也可以通过如下修改RestTestContext.java来做同样的事情

@RunWith(Cucumber.class)
@CucumberOptions(features = {"src/test/resources/features/"},
            tags = {"@run"},
            dryRun = false,
            monochrome = true
        )

public class RestTestContext {
private Map<String, String>           restParams    = new HashMap<>();

public void setRestParams(Map<String, String> params) {
       this.restParams.putAll(params);
    }

public Map<String, String> getRestParams() {
        return this.restParams;
    }
}

这使我没有一个空的类,只是为了通知JUnit如何运行。但是也要有一些有用的类主体。

问题:拥有单独的跑步者课程只是最佳实践吗?还是它也有助于其他因素?

1 个答案:

答案 0 :(得分:0)

Afaik如果要使用JUnit运行Cucumber测试,则需要运行程序类。您可以检查documentation了解更多信息。 请注意,您还使用此类来指定@CucumberOptions,告诉Cucumber&JUnit 如何运行测试。

请注意,您也可以从command line运行Cucumber。在这种情况下,您将不会使用JUnit。

最后,您还可以从IDE运行测试。如何执行,将取决于您所使用的IDE。您可以在documentation中找到有关Java IDE的信息。

相关问题