如何在Gradle中使用jUnit 5

时间:2017-09-09 11:31:17

标签: java junit

运行IDEA IDE我想为jUnit v5添加一个gradle依赖项。

这是我的build.gradle文件,我使用this回答作为指南。

apply plugin: 'java'
sourceCompatibility = 1.8

repositories { mavenCentral() }
apply plugin: 'org.junit.platform.gradle.plugin'

dependencies {
    testCompile 'junit:junit:4.12'
    compile 'junit:junit:4.12'

    testRuntime("org.junit.vintage:junit-vintage-engine:4.12.0-M4")

    testCompile("org.junit.jupiter:junit-jupiter-api:5.0.0-M4")
    testRuntime("org.junit.jupiter:junit-jupiter-engine:5.0.0-M4")

    // Enable use of the JUnitPlatform Runner within the IDE
    testCompile("org.junit.platform:junit-platform-runner:1.0.0-M4")
    compile ("org.junit.jupiter:junit-jupiter-api:5.0.0-M4")
}

sourceSets {
    main {
        java {
            srcDir 'src'
        }
    }
}

junitPlatform {
    details 'tree'
}

这里的问题是通过导入解析了jUnit4注释,但是没有解析所有v5注释。

一个例子:

@ParameterizedTest
public void testExample() {
    // My annotations is not resolved
}

使用gradle添加jUnit5依赖项的正确方法是什么?

修改 我从头开始创建一个新的gradle java项目,以便深入了解它。

这是我当前的build.gradle。

group 'com.iay0361'
version '1.0-SNAPSHOT'

apply plugin: 'java'
sourceCompatibility = 1.8

repositories { mavenCentral() }
apply plugin: 'org.junit.platform.gradle.plugin'

dependencies {
    testCompile group: 'org.junit.vintage', name: 'junit-vintage-engine', version: '4.12.0-RC3'

    testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.0.0-RC3'
    testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.0.0-RC3'
    compile group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.0.0-RC3'

    testCompile group: 'org.junit.platform', name: 'junit-platform-runner', version: '1.0.0-RC3'
}

sourceSets {
    main {
        java {
            srcDir 'src'
        }
    }
}

junitPlatform {
    details 'tree'
}

我在测试的新类文件中写了@Test注释,然后它要求我添加' jUnit5'到classpath

enter image description here

我做了,这次选择了复制' jUnit5'图书馆......而不是使用IDEA经销商。

现在它在模块中添加了这些文件:

enter image description here

该文件仍然是RC2,但在build.gradle中它是RC3。 在"外部图书馆"中没有jUnit罐子。目录

我缺少什么,问题仍然是IDE无法解析某些jUnit5注释,如@ParamiterizedTest。

1 个答案:

答案 0 :(得分:2)

Here是关于如何使用junit5配置gradle的快速示例。 在依赖项中,删除junit:4.12工件版本的编译语句。

// If you also want to support JUnit 3 and JUnit 4 tests
testCompile("junit:junit:4.12")

buildscript()方法中,请包含以下内容:

buildscript {   
  repositories { mavenCentral() }
  dependencies { classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0-RC3'  } 
}