1

我想在所有测试之前启动服务器一次,然后在所有测试执行后关闭服务器。

在 Spring Boot 1.3 中,我可以创建一个@Componentwith@PostConstruct在执行测试之前启动服务器一次,然后在执行@PreDestroy所有测试后停止服务器。

升级到 Spring Boot 1.5 后,在每个@PostConstruct方法之前调用。每次都被调用,但只有在所有测试都执行之后! @Test@PreDestroy @Test

发生了什么变化和/或我现在应该如何做?

4

1 回答 1

1

与答案类似的问题 - https://stackoverflow.com/questions/42839765/can-you-get-spring-boot-junit-tests-to-use-the-same-server

显然,我在升级时很聪明WebEnvironment,并把我的改成了 use RANDOM_PORTs。这会导致每个测试类的上下文缓存都是唯一的,这反过来又会导致@Component每个测试重新创建。

谢谢

于 2017-04-12T21:26:49.000 回答