尽管并发配置了@SpringBootTest类,但它们在同一线程中运行

问题描述

我有几个用@SpringBoottestAutoConfiguremockmvc注释的测试类。

它们看起来像这样:

@SpringBoottest
@AutoConfiguremockmvc
class ThymeleafFormatIT {
    @Autowired
    lateinit var mvc: mockmvc

    @Test
    fun `test something` {}
}

由于其中有几个测试,目前有五个,因此我想并行运行测试类。我想花点时间尽可能减少这些测试的运行时间。

自从我使用Junit 5和Maven以来,我已经配置了故障安全插件,如下所示:

<plugin>
    <artifactId>maven-failsafe-plugin</artifactId>
    <version>2.22.0</version>
    <executions>
        [...]
    </executions>
    <configuration>
        <properties>
            <configurationParameters>
                junit.jupiter.execution.parallel.enabled = true
                junit.jupiter.execution.parallel.mode.default = same_thread
                junit.jupiter.execution.parallel.mode.classes.default = concurrent
            </configurationParameters>
        </properties>
    </configuration>
</plugin>

如果我现在运行mvn integration-test,我会看到启动了多个spring容器,但是它们依次启动。此外,测试执行时间不会发生明显变化:添加配置之前,持续时间为〜20秒,添加之后为〜19.9秒。

有什么我想念的吗? @SpringBoottest注释是否会强制执行(例如通过阻塞端口等)?故障安全插件是否不提取配置项? Junit 5和故障是否彼此不兼容?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)