【问题标题】:How to catch gherkin.parser.ParseError in JUnit runner class如何在 JUnit runner 类中捕获 gherkin.parser.ParseError
【发布时间】:2017-09-22 09:59:03
【问题描述】:

我有一个用于黄瓜测试的 JUnit runner 类

@RunWith(Cucumber.class)
@CucumberOptions(plugin = {
        "html:target/results/cucumber-html-report",
        "json:target/results/cucumber.json", "" +
        "pretty:target/results/cucumber-pretty.txt",
        "usage:target/results/cucumber-usage.json",
        "junit:target/results/cucumber-results.xml"},
        tags = {"@test2"},
        features = {"src/test/resources/features/",},
        glue = {"com.xvpn.test.step"})
public class Runner {
}

有时我们可能会遇到解析错误(当有人在没有测试的情况下提交了 smth) 当我启动我的 Junit 运行程序本身时,它会抛出 gherkin.parser.ParseError,这很酷,我可以很容易地发现问题 但是当测试启动我的 maven 命令 - mvn test 时,它没有显示任何错误和异常

问题是,显示我可以在 JUnit 类中捕获解析错误吗?或者有什么方法可以将该异常显示为 Maven 输出错误?

【问题讨论】:

    标签: java maven junit cucumber-jvm


    【解决方案1】:

    Maven Surefire Plugin / Inclusions and Exclusions of Tests

    默认情况下,Surefire 插件会自动包含所有测试 具有以下通配符模式的类:

    "**/Test*.java" - includes all of its subdirectories and all Java filenames that start with "Test".
    "**/*Test.java" - includes all of its subdirectories and all Java filenames that end with "Test".
    "**/*Tests.java" - includes all of its subdirectories and all Java filenames that end with "Tests".
    "**/*TestCase.java" - includes all of its subdirectories and all Java filenames that end with "TestCase".
    

    您必须重命名跑步者类以适应模式。看起来它目前根本没有执行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-11
      • 1970-01-01
      相关资源
      最近更新 更多