java - 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”选项可以找到步骤定义
解决方案
我想到了。步骤定义类不能扩展另一个类,否则找不到步骤定义。
推荐阅读
- java - 通知 RecyclerView 中 Firestore 数据的变化
- c - 将字符串中的单词提取到动态二维字符数组中
- python-3.x - 使列表中的所有时间戳具有相同的格式
- javascript - 是否可以对数组内的对象求和?
- android - Android - SharedPreferences 的 getString 打印默认值
- python - 在 Python 中使用 Selenium 抓取电子邮件
- python - 如何在 Numpy 中将矩阵矩阵转换为单个 NxN 矩阵
- reporting-services - 从 SSRS 中具有不同参数的多个数据集执行相同的存储过程
- erlang - 在erlang项目中制作rebar编译.core文件
- ios - 如何通知从一个类到多个 ViewControllers 的更改?