我有一些 Spring Boot JUnit 测试需要较长时间的服务器启动(我正在 JPA 中加载一个复杂的域)。我已将它们放入测试套件中,但每次测试都会启动一个新服务器。
是否可以将它们设置为服务器只启动一次并且每个测试都加载到它上面并运行,就好像服务器是由测试本身启动的一样?
我有一些 Spring Boot JUnit 测试需要较长时间的服务器启动(我正在 JPA 中加载一个复杂的域)。我已将它们放入测试套件中,但每次测试都会启动一个新服务器。
是否可以将它们设置为服务器只启动一次并且每个测试都加载到它上面并运行,就好像服务器是由测试本身启动的一样?
好的,所以这里的解决方案实际上是内置在 Spring 测试中的。也就是说,它会缓存 ApplicationContexts 用于测试,如此处所述,只要属性等各种内容相同。
具有讽刺意味的是,我试图通过使用测试属性来限制加载的内容来加速测试,从而搞砸了这一点。