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

时间:2019-07-29 07:28:53

标签: java maven cucumber pom.xml

我有一个黄瓜项目。当我右键单击RunnerTest类并“运行“ RunnerTest”时,功能文件中的所有功能开始运行。所有测试均通过。

但是当我尝试运行mvn test或mvn时,干净安装功能未运行。 这是输出。


T E S T S

运行TestSuite 使用以下方法配置TestNG:org.apache.maven.surefire.testng.conf.TestNG652Configurator@515f550a 测试运行:0,失败:0,错误:0,跳过:0,经过的时间:0.895秒

结果:

运行测试:0,失败:0,错误:0,跳过:0

这些是我的POM依赖项

 <dependency>
  <groupId>com.icom.online.msg.ws.framework</groupId>
  <artifactId>online-message-ws-framework</artifactId>
  <version>1.0-SNAPSHOT</version>
</dependency>
<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>-->
<dependency>
  <groupId>org.testng</groupId>
  <artifactId>testng</artifactId>
  <version>6.14.3</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.projectlombok</groupId>
  <artifactId>lombok</artifactId>
  <version>1.18.6</version>
  <scope>test</scope>
</dependency>

我尝试添加mvn surefire插件,并在其中添加我的RunnerTest类。

<build>
 <pluginManagement>
  <plugins>
   <plugin>
     <artifactId>maven-surefire-plugin</artifactId>
     <version>2.12.4</version>
     <configuration>
       <includes>
       <include>HKOnlineDrRunnerTest.java</include>
       </includes>
     </configuration>
   </plugin>
  </plugins>
 </pluginManagement>
</build>

但这也不起作用

1 个答案:

答案 0 :(得分:1)

已知问题::如果并行保持Junit和TestNG两个依赖关系,则TestNG依赖关系将导致Surefire忽略JUnit包装器类。

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

您可以尝试以下操作吗:请删除任何直接/间接的TestNG依赖项。

    org.testng     ng     6.14.3     测试

并尝试添加以下一项-

    黄瓜     黄瓜test     3.0.0

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

关键点:

  • 我们将不会特别混合直接和传递依赖项的版本!这样做可能会导致不可预测的结果。

通过JUnit执行黄瓜

您应该删除小黄瓜核心,小黄瓜Java,小黄瓜jvm,小黄瓜jvm-鸭,小黄瓜,因为这些是传递性依赖,当您在直接(主)依赖以下添加时,它们将由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>