我有一个参数化的junit集成测试。它有 30 个输入(运行 30 个测试),每个需要 18 秒。
我想并行运行它们。
我正在从 gradle 运行它们,它们目前是用 jUnit4 编写的,但如果有帮助,我已经准备好切换到 jUnit5。
目前我可以使用 gradles maxParallelForks
,但只能在类上分叉。
该功能自 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 个属性之间的区别。
JUnit 5 内置了对并行运行测试的支持。官方文档无疑是查看它的最佳来源: https ://junit.org/junit5/docs/snapshot/user-guide/#writing-tests-parallel-execution