无法通过Maven命令行执行Cucumber JUnit测试,求配置排查方案
Cucumber测试运行失败排查方案
- 修正@CucumberOptions的glue配置
你当前配置的glue = "src/test/stepDefinations"是错误的,glue参数需要传入步骤定义类的包名,而非文件系统路径。比如你的步骤定义类存放在src/test/java/stepDefinations目录下,对应包名就是stepDefinations,将glue值修改为对应包名即可。 - 修正测试类指定规则
执行命令中-Dtest=RunCukesTest.java不需要加.java后缀,且你的RunCukesTest类属于parallel包,需要写全限定名,修改为-Dtest=parallel.RunCukesTest。 - 修复surefire插件参数覆盖问题
你在pom.xml的maven-surefire-plugin配置中硬编码了<testFailureIgnore>true</testFailureIgnore>,导致命令行传入的-DtestFailureIgnore=false无法生效。将硬编码值改为${testFailureIgnore},同时在pom的properties节点下添加默认配置<testFailureIgnore>true</testFailureIgnore>,即可让命令行参数正常覆盖默认值。 - 移除冲突依赖
你的pom同时引入了cucumber-testng和cucumber-junit两个测试框架适配依赖,你当前用的是JUnit的@RunWith注解启动测试,需删除cucumber-testng依赖避免类冲突。 - 核对feature文件路径
你配置的features = "classpath:features"要求feature文件必须存放在src/test/resources/features目录下,请确认文件存放路径符合要求。
内容的提问来源于stack exchange,提问作者Sobhit Sharma
相关产品推荐
相关产品推荐

