为了账号安全,请及时绑定邮箱和手机立即绑定

运行 Maven 测试时未执行黄瓜测试

运行 Maven 测试时未执行黄瓜测试

慕雪6442864 2023-04-26 14:53:18
我有一个黄瓜项目。当我右键单击 RunnerTest 类并“运行“RunnerTest”时,功能文件中的所有功能开始运行。所有测试都通过了。我的 RunnerTest.class   import cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;import java.sql.SQLException;import lombok.extern.log4j.Log4j2;import org.junit.BeforeClass;import org.junit.runner.RunWith;@RunWith(Cucumber.class)@CucumberOptions(features = {"classpath:foo.feature"},glue = "com.foo.foobar.StepDefinitions",plugin = {"json:target/cucumber-report/cucumber.json"},monochrome = true,strict = true//,dryRun = true)@Log4j2public class RunnerTest {}但是当我尝试运行 mvn test 或 mvn clean install 功能时,它们没有运行。这是输出。测试运行 TestSuite 配置 TestNG:org.apache.maven.surefire.testng.conf.TestNG652Configurator@515f550a 测试运行:0,失败:0,错误:0,跳过:0,经过的时间:0.895 秒结果 :测试运行:0,失败:0,错误:0,跳过:0这些是我的 POM 依赖项<dependency>  <groupId>io.cucumber</groupId>  <artifactId>cucumber-junit</artifactId>  <version>3.0.0</version>  <scope>test</scope></dependency><dependency>  <groupId>io.cucumber</groupId>  <artifactId>cucumber-core</artifactId>  <version>3.0.0</version>  <scope>test</scope></dependency><dependency>  <groupId>io.cucumber</groupId>  <artifactId>cucumber-java</artifactId>  <version>3.0.0</version>  <scope>test</scope></dependency><dependency>  <groupId>io.cucumber</groupId>  <artifactId>cucumber-jvm</artifactId>  <version>3.0.0</version>  <type>pom</type></dependency><dependency>  <groupId>io.cucumber</groupId>  <artifactId>cucumber-jvm-deps</artifactId>  <version>1.0.6</version></dependency><dependency>  <groupId>io.cucumber</groupId>  <artifactId>gherkin</artifactId>  <version>4.1.3</version></dependency><!--<dependency>-->  <!--<groupId>junit</groupId>-->  <!--<artifactId>junit</artifactId>-->  <!--<version>4.12</version>--><!--</dependency>-->
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

已知问题: 如果您同时保留 Junit 和 TestNG 两个依赖项,那么 TestNG 依赖项会导致 Surefire 忽略 JUnit 包装器类。

解决方案:可能有多种处理方式,比如我们可以定义 2 个执行,每个用于 TestNG 和 JUnit,并根据需要禁用一个。

你能试试这个吗:请删除任何直接/间接的 TestNG 依赖项。

org.testng testng 6.14.3 测试

并尝试添加以下一个 -

io.cucumber 黄瓜测试 3.0.0

另外,我建议您再做一件事来保持您的 pom.xml 干净。

关键 :

  • 我们不会混合直接和传递依赖,特别是他们的版本!这样做会导致不可预知的结果。

通过 JUnit 执行黄瓜

您应删除 cucumber-core、cucumber-java、cucumber-jvm、cucumber-jvm-deps、gherkin,因为这些是传递依赖项,当您在直接(主要)依赖项下方添加时,它们将由 Maven 添加。只需在下面添加 2 和一个用于上面共享的 testng。

<dependency>

    <groupId>io.cucumber</groupId>

    <artifactId>cucumber-junit</artifactId>

    <version>3.0.0</version>

</dependency>


<dependency>

    <groupId>io.cucumber</groupId>

    <artifactId>cucumber-picocontainer</artifactId>

    <version>3.0.0</version>

</dependency>


查看完整回答
反对 回复 2023-04-26
  • 1 回答
  • 0 关注
  • 103 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信