当集成测试从IDE启动时,ApllicationContext只加载一次,然后在测试之间共享,并且它按预期工作.但执行mvn clean install每次测试都会创建新的ApllicationContext.根据Spring doc我配置了
maven-failsafe-plugin使用单叉
要缓存ApplicationContext,请使用以下注释:
@ContextConfiguration(classes = TestConfig.class)
使用maven构建应用程序时为什么不共享上下文?
实际上有没有其他方式加速IT测试?谢谢.
更新:
这是多模Maven项目. Accordig Spring IT caching doc
To benefit from the caching mechanism,all tests must run within the
same process or test suite. This can be achieved by executing all
tests as a group within an IDE. Similarly,when executing tests with a
build framework such as Ant,Maven,or Gradle it is important to make
sure that the build framework does not fork between tests. For
example,if the forkMode for the Maven Surefire plug-in is set to
always or pertest,the TestContext framework will not be able to cache
application contexts between test classes and the build process will
run significantly slower as a result.
所以对于maven-failsafe-plugin 2.14,这个配置等于forkMode =一次