如何在Gradle 4.6+中将JUnit 5测试实例生命周期切换为“每类”?

问题描述 投票:2回答:2

由于gradle 4.6支持JUnit 5,具有以下配置。

test {
    useJUnitPlatform()
}

似乎改变testinstance生命周期的旧方法不起作用。

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测试实例生命周期切换为“每类”?

gradle junit5
2个回答
5
投票

除了使用eee's answer中描述的系统属性外,还可以使用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

在任务中将其设置为systemProperty,或将其设置在junit-platform.properties文件中。后者是更强大的机制,因为它也将在IDE中应用。


4
投票

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

test {

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

}
© www.soinside.com 2019 - 2024. All rights reserved.