如何在maven的包阶段后执行Junit测试用例?

时间:2016-05-04 06:21:59

标签: java maven maven-surefire-plugin

我想在我的构建jar上运行我的Junit,但是在测试阶段的包阶段之前在类文件上执行了maven surefire插件,有没有办法在构建一个jar项目之后运行所有junit。 在构建jar上运行的原因是验证jar的混淆。

2 个答案:

答案 0 :(得分:2)

解决方案是使用集成测试阶段中的maven-failsafe-plugin。你需要这个到你的pom文件:

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.19.1</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
              <goal>verify</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

您应该遵循conventions并遵循集成测试的命名约定:

<includes>
 <include>**/IT*.java</include>
 <include>**/*IT.java</include>
 <include>**/*ITCase.java</include>
</includes>

之后,您可以通过以下方式运行这些集成测试:

mvn clean verify

如果您想运行only unit tests

mvn clean test

答案 1 :(得分:0)

maven中有两个阶段的测试,一个是单元测试,第二个是集成测试。因此,如果您愿意,您应该在集成测试阶段执行它。