我尝试升级一个由两个测试切片(在我的例子中是@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 !"); }
}
我从 BootstrapUtils 得到的错误是 illegalStateException : 配置错误:为测试类找到@BootstrapWith 的多个声明
我知道我在这里可能做错了什么,但是有没有一种简单的方法可以同时加载 Json 和 Jdbc 上下文?
最佳答案
测试切片注释并不是真正设计成这样组合的。恐怕您的代码只能在 Spring Boot 2.0 中运行。
您确实只需要选择一个 @...Test
注释,然后将它与一个或多个 @AutoConfigure...
注释结合起来。对于上面的例子,我会写:
@RunWith(SpringRunner.class)
@JdbcTest
@AutoConfigureJson
@AutoConfigureJsonTesters
public class Test {
@Test
public void test() {
System.out.println("Hello, World !");
}
}
关于spring-boot-test - 在 Spring Boot 2.1 中,由于多个 @BootstrapWith 不再允许许多测试切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52527394/