问题 使用Maven运行JUnit测试套件


我编写了一个JUnit测试套件来运行多个测试用例。

现在我想立即运行我的测试套件类(AllTest.java),以便所有测试由一个类触发,携带和管理。我知道maven-failsafe-plugin是可用的,但有没有其他更简单的方法从Maven调用JUnit测试套件?

我不想为此使用另一个插件。

这是我目前的maven-failsafe-plugin配置:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-failsafe-plugin</artifactId>
  <version>2.9</version>
  <configuration>
    <includes>
      <include>**/AllTests.java</include>
    </includes>
  </configuration>
  <executions>
    <execution>
      <id>integration-test</id>
      <goals>
        <goal>integration-test</goal>
      </goals>
    </execution>
    <execution>
      <id>verify</id>
      <goals>
        <goal>verify</goal>
      </goals>
    </execution>
  </executions>
</plugin>

9558
2017-12-17 09:47


起源

你可以使用默认值 surefire 具有相同配置的插件。 - Andrew Logvinov
我不想使用maven-failsafe-plugin,而且我尝试过使用surefire插件。但它没有拿起注释为@RunWith(Suite.class)和@SuiteClasses({TestClassMyPOJOBase.class})的类 - Chetan
你有单元测试或集成测试吗?单元测试=> maven-surefire-plugin,集成测试=> maven-failsafe-plugin。您不应该使用套件,因为Maven-surefire或maven-failsafe将负责运行所有测试。此外,不要忘记单元测试和集成测试的命名约定。 - khmarbaise


答案:


你可以运行它 -Dit.test=[package].AllTest (-Dtest 使用surefire),或在pom中配置包含的测试:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.12.4</version>
    <configuration>
      <includes>
        <include>AllTest.java</include>
      </includes>
    </configuration>
  </plugin>

11
2017-12-17 13:21



第二个选项对我有用..但是-Dtest和Dit.test = [包] .AllTest并没有真正为我工作..我错过了什么? - Chetan


您可以使用以下maven命令运行测试套件:

 mvn test -Dtest=x.y.z.MyTestSuite

注意:x.y.z是包名。


0
2018-06-14 07:16