在构建spring boot应用程序时排除一些测试类

时间:2017-10-10 13:59:46

标签: java spring testing

我有一个很棒的java项目,想要为项目的几个部分构建测试类。

我在Spring启动测试文件夹的Root包中进行了Context测试。

-Test
 -Root
  -ParentContextTest.class
  -ChildContextTest.class
 -FocusedTest
  -UserPermissioningTest.class <- extends ChildContextTest.class

我想像上面那样安排我的测试包,所以在构建项目时,只测试主要上下文并且FocusedTest包中的任何内容都不会运行。

当手动运行测试时,FocusedTest测试类会扩展相应的Context。

使用spring boot + maven。

任何帮助都会很棒。

使用Spring boot在pom中构建如下所示

<plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
     <configuration>
           <fork>true</fork>
           <executable>true</executable>
           <excludes>
             <exclude>
              <groupId>com.Test.FocusedTest</groupId>
             </exclude>
            </excludes>
      </configuration>
 </plugin>

2 个答案:

答案 0 :(得分:2)

您可以使用相应的Maven插件配置从测试中排除类:

http://maven.apache.org/surefire/maven-surefire-plugin/examples/inclusion-exclusion.html

答案 1 :(得分:0)

在我的情况下,我使用了maven-surefire-plugin(如@ simon-martinelli所述),并在需要排除的测试中添加了后缀IntegrationTest。最后,我使用的配置是:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <excludes>
            <exclude>**/*IntegrationTest.java</exclude>
        </excludes>
    </configuration>
</plugin>

使用mvn test可以跳过测试

使用mvn -Dtest=*IntegrationTest test可以运行集成测试