如何在 gradle 4.6+ 中将 JUnit 5 测试实例生命周期切换到 "per-class"?



As gradle 4.6 支持具有以下配置的 JUnit 5。

test {
useJUnitPlatform()
}

似乎更改测试实例生命周期的旧方法不起作用。

junitPlatform {
// ...
configurationParameter 'junit.jupiter.conditions.deactivate', '*'
configurationParameters([
'junit.jupiter.extensions.autodetection.enabled': 'true',
'junit.jupiter.testinstance.lifecycle.default': 'per_class'
])
// ...
}

https://junit.org/junit5/docs/current/user-guide/#running-tests-build-gradle-config-params

如何在 gradle 4.6+ 中将 JUnit 5 测试实例生命周期切换到"每类"?

除了使用eee 答案中所述的系统属性外,还可以使用junit-platform.properties文件。junit-platform.properties文件可以放在src/test/resources中。

Junit-platform.properties

junit.jupiter.testinstance.lifecycle.default = per_class

这是JUnit团队的答案。 https://twitter.com/junitteam/status/970014414891094018

在任务中将其设置为系统属性,或在 junit-platform.properties file.后者更强大 机制,因为它也将应用于 IDE。

您可以使用系统属性执行此操作:

test {
useJUnitPlatform {
// ...
systemProperty 'junit.jupiter.testinstance.lifecycle.default', 'per_class'
// ...
}
}

最新更新