这里/sf/answers/3707769131/ 很好地解释了为什么 @DataJpaTest @SpringBootTest 不应该混合在一个应用程序中。
但是几乎没有解释无论如何都需要测试 MVC SpringBoot 应用程序的每一层的情况(从我的角度来看,很自然地不仅要测试一层或仅测试另一层,而且甚至测试所有层,不是吗?)
所以有人建议使用 @AutoConfigureTestDatabase 而不是 @DataJpaTest 的解决方案,但没有完成工作(((
所以我的问题是:使用@AutoConfigureTestDatabase 是一个合适的解决方案吗?如果是,请详细说明。如果不是,请提出更合适的解决方案,谢谢
我试图升级由两个测试片(在我的情况下为@JsonTest和@JdbcTest,中间是脆脆的测试代码)制成的美味三明治,为其添加了spring boot 2.1风味。但似乎并没有太大的成功。我无法使用许多@ ... Test注释测试,因为它们现在各自带有自己的XxxTestContextBootstrapper。当他们都使用相同的SpringBootTestContextBootstrapper时,它可以正常工作。
@RunWith(SpringRunner.class)
@JdbcTest
@JsonTest
public class Test {
@Test
public void test() { System.out.printn("Hello, World !"); }
}
Run Code Online (Sandbox Code Playgroud)
我从BootstrapUtils收到的错误是llegalStateStateException:配置错误:为测试类找到了@BootstrapWith的多个声明
我知道我在这里可能做错了什么,但是有一种简单的方法可以同时加载Json和Jdbc上下文吗?