Maven验证在每个类上启动和停止Spring Test Runner

时间:2019-01-04 17:56:09

标签: maven spring-boot integration-testing

我有一个大约有500个测试(单元和大部分是集成)的Spring Boot应用程序。

当我第二次单击开始在IntelliJ中运行测试时->运行所有测试-测试运行大约10-15分钟。

当我尝试在IntelliJ终端中使用“ mvn verify -P itest”运行测试时,执行时间约为一个小时。这是因为此命令在每个类上启动和停止Spring Test Runner Server(这不是我想要的结果)。

IntelliJ第二次单击->运行所有测试仅将其启动一次。 我们的Jenkins Job正在使用“ mvn verify -P itest”运行测试,因此我的问题是如何更改此行为,以仅启动和停止一次测试运行程序(使用此“ mvn verify -P itest”命令)。 / p>

itest是我们pom.xml中的配置文件,其中包含包含集成测试的类(使用Maven故障安全插件)

这是基础抽象集成测试类的注释

char * decrypt(char* pt)
    {
        char*  result=malloc(20);
        char *start = result;

        while(*pt)
        {
           *result=*pt+3;//incrementing by 3 alphbets and copying in reslult
           pt++;
           result++;
        }
        *result='\0';

        return start;
    }

我发现这篇文章可能与我的问题类似,但这并不能解释IntelliJ给我的行为。

Reset Spring-Boot During Integration Tests

非常感谢

1 个答案:

答案 0 :(得分:0)

我发现了为什么会这样。我的pom文件中有一个设置说明 “ reuseForks”的maven failsafe属性为false。

我将其更改为true,现在可以正常工作了。

Intellij的工作方式相同-它在所有测试中重复使用分叉。

了解更多

http://maven.apache.org/surefire-archives/surefire-2.17/maven-failsafe-plugin/examples/fork-options-and-parallel-execution.html