如何在同一个 Gradle 版本中运行 JUnit5 和 JUnit4?

2022-09-02 22:12:07

我读了一个关于Maven的答案,但我想知道如何在Gradle中完成这个任务 - 在同一个版本中执行JUnit 4和JUnit 5测试

目前,我的 Gradle 版本只接收具有以下功能的测试:import org.junit.jupiter.api.Test;

我的问题是我正在使用需要JUnit4才能运行的,但我想在JUnit5 Vintage Engine上执行它。@RunWith

我如何使我的构建能够同时运行JUnit4和JUnit5。谢谢。

更新:现在有一个JUnit 5的本机 - https://mvnrepository.com/artifact/org.mockito/mockito-junit-jupiterMockito Junit Jupiter


答案 1

junit5-migration-gradle 项目演示了如何使用 Gradle 执行基于 JUnit 5 的测试。此外,它还展示了现有的基于JUnit 4的测试可以在与基于JUnit Jupiter的测试或JUnit平台上支持的任何其他测试相同的测试套件中执行。

基本上,它归结为在运行时类路径上同时拥有Jupiter和Vintage引擎:

dependencies {
    testCompile("org.junit.jupiter:junit-jupiter-api:5.2.0")
    testRuntime("org.junit.jupiter:junit-jupiter-engine:5.2.0")
}

dependencies {
    testCompile("junit:junit:4.12")
    testRuntime("org.junit.vintage:junit-vintage-engine:5.2.0")
}

答案 2

推荐