【发布时间】:2019-09-11 05:52:52
【问题描述】:
我下载了最新的 Cucumber Java 版本 - 4.7.2,并且可以从 IDE Intellij 运行黄瓜测试,在 IDE 中一切正常。但是,如果从命令行运行,则会出现错误“io.cucumber.junit.UndefinedThrowable:”
在 IDE 中运行测试运行程序“RunCucumberTest”:OK
Cucumber-jvm 方法:
java -cp "lib/cucumber-4.7.2/*" io.cucumber.core.cli.Main --glue au.com.demo.quality.stepdefinitions --plugin pretty --name "^demo test$" src/test/resources/features/DemoTest.feature
结果:步骤未定义如上
JUnit 方法:
java -cp "../lib/cucumber-4.7.2/*;../out/production/demo" org.junit.runner.JUnitCore au.com.demo.quality.runners.RunCucumberTest
结果:步骤未定义如上
项目结构:
Quality
-lib
-out
--Production
---demo
......
-bdd
--src
---test
----java
----resources
更多细节如下面的截图所示。
我在 stackoverflow 中搜索过,谷歌也搜索过,没有找到答案。这里有用的参考,但它们不是我的答案。谢谢。
https://github.com/cucumber/cucumber-jvm/issues/1127#issuecomment-303486249
【问题讨论】:
-
您是否在类路径中包含您自己的代码?
-
是的,类路径“lib/cucumber-4.7.2/*”是为需要的jar包,在类路径“lib/”中安装了一个旧的黄瓜java 1.2.5,所以我将所有新版本移至“lib/cucumber-4.7.2/*”,另一个用于类文件“RunCucumberTest.class”。