【发布时间】:2020-02-03 08:41:34
【问题描述】:
我使用的是黄瓜 1.2.5 版。在我的项目上。而且我有以下测试运行器类,它曾经可以正常工作:
@RunWith(Cucumber.class)
@CucumberOptions(
features = "src/test/resources/feature",
glue = "product.cucumber.steps",
tags = {"not @ignore", "@current"})
public class TestRunner {
}
但今天我尝试将 cucumber 更新到 5.1.2 版本。突然,这个跑步者停止了工作。我现在收到以下错误:
java.lang.NullPointerException 在 io.cucumber.core.gherkin.vintage.GherkinVintageFeature.(GherkinVintageFeature.java:30) 在 io.cucumber.core.gherkin.vintage.GherkinVintageFeatureParser.parseGherkin5(GherkinVintageFeatureParser.java:31) 在 io.cucumber.core.gherkin.vintage.GherkinVintageFeatureParser.parse(GherkinVintageFeatureParser.java:51) 在 io.cucumber.core.feature.FeatureParser.parseResource(FeatureParser.java:43) 不仅如此,现在我在功能文件中的所有步骤都显示为未定义。这可能是什么原因?请帮忙。
UPD:好的,我发现了问题所在。我不知道我必须将运行配置中的主类更改为io.cucumber.core.cli.Main。现在我已经更改了它,我看到我的测试再次开始运行。
【问题讨论】:
-
如果
steps是包含步骤定义的文件夹,请尝试使用glue = "steps",。