Java集成测试运行缓慢,因为每个类的服务器分别启动

时间:2018-12-17 22:21:02

标签: java junit integration-testing junit4

我们有Spring Boot应用程序,并且已经使用JUnit 4和RestAssured Framework进行了集成测试。

我们的项目中有很多与测试相关的类。

我们的集成测试需要很长时间才能在本地运行,因为每个类都会引导并带来服务器-这将在该类中运行测试,然后终止服务器。

每堂课都会发生这种情况。

每次启动服务器并杀死服务器都需要花费大量时间-这会使所有测试一起运行非常慢。

我希望服务器仅在本地启动一次-并针对该服务器运行所有测试。

所以基本上我的用例是当我试图一次运行所有测试时。

预先感谢

最好的问候

1 个答案:

答案 0 :(得分:0)

集成测试通常很慢。但是要保持测试的独立性,并非总是可以将测试准备工作和清洁工作移到测试之外。

如何使测试并行运行?参见for Gradle。我认为这也可以在Maven中完成。

是的,通常会带来一系列新的麻烦,例如确保同时运行的测试不会相互影响。通常,所使用的端口需要特定于测试,通常提供0意味着:找到一个空闲端口。在测试过程中,可以检索实际使用的端口。

这样可以在保持测试独立性的同时提高整体速度。