我创建了一个RunTest类,以将Cucumber与JUnit一起运行我的测试方案。为了之前运行测试,我需要将RunWith类(@RunWith)导入到我的项目中,并将Cucumber.class作为参数传递。然后,该类的RunWith参数识别出传递给它的更多参数,否。 蚀显示消息:
此行有多个标记 -类无法解析为类型。 -黄瓜不能解析为一种类型。 -注释@RunWith必须定义属性值
我正在使用Maven来组织我的JARS文件。 以下是代码和错误屏幕。
我的POM.XML
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-java -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-java</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-core -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-core</artifactId>
<version>1.2.5</version>
</dependency>
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-jvm -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-jvm</artifactId>
<version>1.2.5</version>
<type>pom</type>
</dependency>
</dependencies>
答案 0 :(得分:2)
导入cucumber.api.junit.Cucumber
类。看来您使用的是Eclipse IDE,因此可以使用Ctrl+Shift+o
(字母'o'不为零)快捷方式导入类。
({Ctrl+Shift+O
是'Organise Imports',将添加所有缺失的进口,删除所有未使用的进口,并订购所有进口)。该命令也位于“源”>“组织导入”下。
答案 1 :(得分:1)
只需执行Ctrl + Shift + T并键入RunWith,即可在解决maven依赖关系后检查jar是否正确导入到您的工作空间中。
答案 2 :(得分:1)
步骤1:鼠标悬停在错误显示上,黄瓜类无法解析为一种类型。 因此,手动编写import语句,错误将消失。
导入cumul.api.junit.Cucumber;
第2步:从pom.xml文件中删除适用于黄瓜JUnit依赖关系的范围。
答案 3 :(得分:1)
我已经删除了测试标签,并且可以正常工作。
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
</dependency>
答案 4 :(得分:0)
我从以下依赖项中删除了POM.xml文件:
<!-- https://mvnrepository.com/artifact/info.cukes/cucumber-junit -->
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
然后我添加了依赖项:
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
完成导入操作。
答案 5 :(得分:0)
我遇到了同样的问题。我正在Eclipse中使用Maven项目。我的问题似乎是我使用的JRE版本。我的Maven项目都有一个旧的J2SE-1.5,我在Eclipse中切换到1.8,问题就消失了。希望这会有所帮助!
答案 6 :(得分:0)
如上所述,添加以下依赖项解决了我的问题:
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
答案 7 :(得分:0)
从“ mvnrepository”下载了所有最新的jar Maven依赖项。这对我有用。
答案 8 :(得分:0)
请添加此依赖项并删除旧的依赖项。 它对我有用。
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>3.0.2</version>
<scope>test</scope>
</dependency>
答案 9 :(得分:0)
我在IntelliJ想法中也遇到了同样的问题,当我检查导入的库时,就像下面的屏幕截图一样。
所以我从pom文件的导入中删除了作用域标记。然后它起作用了。
更早
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
修复
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
</dependency>
现在一切正常
答案 10 :(得分:0)
对我来说,删除.m2 / repository可以解决相同的问题,请按如下所示重新启动具有依赖项的IDEA:
${cucumber.version} = 4.8.0
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
</dependency>
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>${cucumber.version}</version>
</dependency>
希望,它也对您有用。
答案 11 :(得分:0)
即使您可能在 pom.xml
中有 cucumber-junit确认在 Maven依赖项下,您必须具有 cucumber-junit
我有1.2.6,但它不是Maven依赖项,请从答案中的一个注释中得到。
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-junit</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
答案 12 :(得分:0)
我更改了:
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>6.1.2</version>
<scope>test</scope>
</dependency>
收件人:
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>6.2.0</version>
<scope>test</scope>
</dependency>
It Worked...
我的依存关系列表:
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-junit -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-junit</artifactId>
<version>6.2.0</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-jvm-deps -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-jvm-deps</artifactId>
<version>1.0.6</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/io.cucumber/cucumber-java -->
<dependency>
<groupId>io.cucumber</groupId>
<artifactId>cucumber-java</artifactId>
<version>6.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
答案 13 :(得分:-1)
我也遇到过同样的问题。尝试了多种方法,但这对我有所帮助
import cucumber.api.junit.Cucumber;