在 Spring Boot 2.1 中,由于多个@BootstrapWith,许多测试切片不再被允许

2024-03-20

我尝试升级由两个测试片组成的美味三明治(在我的例子中为 @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 !"); 
  }

}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Spring Boot 2.1 中,由于多个@BootstrapWith,许多测试切片不再被允许 的相关文章

随机推荐