在测试之间共享springcontext

时间:2016-07-26 05:09:28

标签: java spring gradle spring-boot

我们正在使用springboot,java和标准gradle测试任务在项目中运行单元测试。系统中有很多@Autowired的东西。我们有大约1000个测试 - 并且springboot需要20到40秒来加载每个测试,这构成了你可以想象的绝大部分构建时间。

有没有办法在所有测试之间共享一个弹簧上下文 - 如果是这样,我该如何告诉gradle使用它?

我做了大量的谷歌搜索并发现了各种关于spring xml配置的东西 - 我们没有任何xml配置文件作为我们系统的一部分 - 而且我不愿意添加它们 - 所以我更喜欢不涉及xml的解决方案 - 但如果这是唯一的方法,我仍然喜欢它。谢谢!

1 个答案:

答案 0 :(得分:0)

引用官方文件:

  

一旦TestContext框架为测试加载了ApplicationContext(或WebApplicationContext),该上下文将被缓存并重用于在同一测试套件中声明相同唯一上下文配置的所有后续测试。 < / p>

有关更多信息,请查看官方Spring文档中的这些链接:

numpy.roots

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/integration-testing.html#testcontext-ctx-management-caching