[英]Unable to run JUnit tests inside a Maven project in IntelliJ IDEA
[英]JUnit 5 tests are executed in parallel inside IntelliJ and locally with Maven, but not inside Maven Docker container on Google Cloud Build
我在我的 Maven 项目中使用 JUnit 5。
我的junit-platform.properties
看起来像这样:
junit.jupiter.execution.parallel.enabled=true
junit.jupiter.execution.parallel.mode.default=concurrent
在 IntelliJ 内部或在本地使用 Maven 运行测试时,测试将并行执行。
但是,当在 Maven Docker 容器内的 Cloud Build 上运行它们时,它们似乎是按顺序运行的。
他们是这样称呼的:
steps:
- name: 'maven:3-jdk-11-slim'
args: [
'mvn',
# https://stackoverflow.com/a/53513809/3067148
'-Dorg.slf4j.simpleLogger.showDateTime=true',
'-Dorg.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss,SSS',
'-B',
'test'
]
它们不并行执行的原因可能是什么?
可以使用
ParallelExecutionConfigurationStrategy
配置所需的并行度和最大池大小等属性。 JUnit 平台提供两种开箱即用的实现:dynamic
和fixed
。 或者,您可以实施自定义策略。
请记住, ParallelExecutionConfigurationStrategy class 仍处于“实验” state 中,并且还不稳定。 可能会发生意外行为。
由于您没有设置特定的配置策略,因此以下部分适用:
如果未设置配置策略,JUnit Jupiter 使用因子为 1 的
dynamic
配置策略。因此,所需的并行度将等于可用处理器/内核的数量。
在https://junit.org/junit5/docs/current/user-guide/#writing-tests-parallel-execution-config查找更多详细信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.