如何在所有测试之前启动服务器一次并停止?

时间:2017-04-12 21:04:47

标签: spring-boot spring-test spring-boot-test

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

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

升级到Spring Boot 1.5后,在每个 @PostConstruct方法之前调用@Test。只有在所有测试执行完毕后, @PreDestroy才会调用@Test

改变了什么和/或我现在应该怎么做?

1 个答案:

答案 0 :(得分:1)

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

显然,升级时我是智能,并将WebEnvironment更改为使用RANDOM_PORT。这会导致每个测试类的上下文缓存都是唯一的,这反过来会导致每次测试都重新创建@Component

谢谢