spring-boot-test - 在 Spring Boot 2.1 中,由于多个 @Boots

我尝试升级一个由两个测试切片(在我的例子中是@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/

相关文章:

github - 如何从 GitHub 评论为我的拉取请求触发 Travis 重建?

elm - HTML 可选属性

python-3.x - pyspark中的异常值检测

shell - 画一棵圣诞树

scala - 如何在 Scala 中实现 Python 的 issuperset()

excel - 想知道是否可能

deployment - 如何在 Kubernetes 中相同部署的两个 Pod 中使环境变量不同?

prolog - '/1' 在 Prolog 中代表什么?

dictionary - 在 OCaml 中使用 Map.update

logistic-regression - 为什么在这个逻辑回归示例中 Pymc3 ADVI 比 M