首页 > 解决方案 > Cucumber 从命令行运行时找不到 StepDefinitions

问题描述

我下载了最新的 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

Cucumber 在运行代码时找不到 StepDefinitions 但手动使用“Find Step”选项可以找到步骤定义

如何从命令行运行黄瓜文件

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

标签: javajunitcucumber

解决方案


我想到了。步骤定义类不能扩展另一个类,否则找不到步骤定义。


推荐阅读