4

我有一个参数化的junit集成测试。它有 30 个输入(运行 30 个测试),每个需要 18 秒。

我想并行运行它们。

我正在从 gradle 运行它们,它们目前是用 jUnit4 编写的,但如果有帮助,我已经准备好切换到 jUnit5。

目前我可以使用 gradles maxParallelForks,但只能在类上分叉。

4

2 回答 2

4

该功能自 v 5.3 起可用

使用以下内容创建src/test/resources/junit-platform.properties :

junit.jupiter.execution.parallel.enabled = true
junit.jupiter.execution.parallel.mode.default = concurrent

junit.jupiter.execution.parallel.mode.default将并行运行同一类中的测试方法(包括参数化方法)。

还有一个junit.jupiter.execution.parallel.mode.classes.default从多个类并行运行测试。检查jUnit 5 文档中的图片以查看 2 个属性之间的区别。

于 2020-08-12T19:37:07.623 回答
1

JUnit 5 内置了对并行运行测试的支持。官方文档无疑是查看它的最佳来源: https ://junit.org/junit5/docs/snapshot/user-guide/#writing-tests-parallel-execution

于 2019-06-21T07:58:40.323 回答