我已经完成了之前所有与之相关的StackOverflow问题。这篇文章很长,请耐心等待。黄瓜项目中的文件夹按如下顺序排列:
-src/main/java
-src/main/resources
-src/test/java
-|CucumberRunner (package)
-|CucumberTestRunner.java
-|CucumberTestDefinition (package)
-|CucumberStepDefinition.java
-src/test/resources
-CucumberFeaturesFolder
-|CucumberFeatureFile.feature
如果以上顺序对您没有意义,这是项目文件夹排列的图片。 Order of project folders inside the project
我的pom.xml添加了以下依赖项(不再依赖):
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.2</version>
<scope>test</scope>
</dependency>
我的CucumberTestRunner.java文件包含以下内容:
package CucumberRunner;
import org.junit.runner.RunWith;
import cucumber.api.CucumberOptions;
import cucumber.api.junit.Cucumber;
@RunWith(Cucumber.class)
@CucumberOptions(
features = "CucumberFeaturesFolder/CucumberFeatureFile.feature",
glue = {"src/test.java/CucumberTestDefinition"}
)
public class CucumberTestRunner {}
我尝试运行CucumberFeatureFile.feature时遇到的错误如下:
cucumber.runtime.CucumberException:无法实例化类CucumberTestDefinition.CucumberStepDefinition
现在,在阅读StackOverflow上提到的类似帖子后,我尝试更改黄瓜单元版本cucumber-java从1.2.2到1.2.0也导致了一个错误但不同的错误:
线程中的异常“main”cucumber.runtime.CucumberException:未找到后端
答案 0 :(得分:1)
更改
glue = {"src/test.java/CucumberTestDefinition"}
到
glue = {"src/test/java/CucumberTestDefinition"}
答案 1 :(得分:1)
确保Java版本与Cucumber依赖项以及POM.xml中添加的其他依赖项兼容。早些时候我尝试使用JDK 7,但是在更改为JDK 8之后,该错误/异常在运行时不再可见,并且能够成功执行测试。