【问题标题】:Cucumber cannot find StepDefinitions while running from command lineCucumber 从命令行运行时找不到 StepDefinitions
【发布时间】: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

更多细节如下面的截图所示。

the cucumber structure

我在 stackoverflow 中搜索过,谷歌也搜索过,没有找到答案。这里有用的参考,但它们不是我的答案。谢谢。

https://github.com/cucumber/cucumber-jvm/issues/1127#issuecomment-303486249

Cucumber cannot find StepDefinitions while running the code but manually using the option "Find Step" can find step definition

How to run cucumber file from command line

https://www.toolsqa.com/cucumber/cucumber-options/

【问题讨论】:

  • 您是否在类路径中包含您自己的代码?
  • 是的,类路径“lib/cucumber-4.7.2/*”是为需要的jar包,在类路径“lib/”中安装了一个旧的黄瓜java 1.2.5,所以我将所有新版本移至“lib/cucumber-4.7.2/*”,另一个用于类文件“RunCucumberTest.class”。

标签: java junit cucumber


【解决方案1】:

我想通了。步骤定义类不能扩展其他类,否则找不到步骤定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-14
    • 1970-01-01
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 2013-05-27
    相关资源
    最近更新 更多