gpt4 book ai didi

java - Gradle 项目在 IntelliJ 中运行 jUnit 5 测试

转载 作者:搜寻专家 更新时间:2023-10-30 21:02:18 26 4
gpt4 key购买 nike

我现在正在尝试 Gradle 和 jUnit5。除了无法运行特定的 jUnit 测试外,一切正常。当我右键单击测试类时,“运行‘SampleTest’”选项没有出现。

我有最新版本的 IntelliJ (2016.1.3) Ultimate。这是我的 build.gradle 文件:

repositories {
mavenCentral()
}

apply plugin: 'java'

version = '1.0.0-SNAPSHOT'

jar {
baseName = 'test-project'
}

dependencies {
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.0.0-M1'
}

项目结构是标准的(就像在 Maven 中一样)。这是一个测试示例:

package com.test;

import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;

public class SampleTest {
@Test public void sampleTest() {
int test = 1;
Assertions.assertTrue(test == 1);
}
}

我错过了什么?

编辑:

Gradle 似乎也没有接受我的测试。当我转到 build/reports/tests/index.html 时,它指示 0 测试。

最终编辑:

按照@dunny 的回答,这是我为使一切正常运行所做的工作。我像这样修改了我的 build.gradle 文件:

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

repositories {
mavenCentral()
}

apply plugin: 'java'
apply plugin: 'org.junit.platform.gradle.plugin'

version = '1.0.0-SNAPSHOT'

jar {
baseName = 'test-project'
}

dependencies {
testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.0.0-M1'
testCompile group: 'org.junit.platform', name: 'junit-platform-runner', version: '1.0.0-M1'
testCompile group: 'junit', name: 'junit', version: '4.12'
testRuntime group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.0.0-M1'
}

test {
testLogging {
events 'started', 'passed'
}
}

然后,在 IntelliJ 中,我打开了 Gradle 窗口,并单击“刷新所有 gradle 项目”按钮以刷新库。

然后在我的测试类中,我在类声明的顶部添加了 @RunWith(JUnitPlatform.class)

当我执行 gradle build 时,结果可在此处获得:build\test-results\junit-platform\TEST-junit-jupiter.xml

最佳答案

最新的Idea 2016.2 现已支持JUnit 5 框架。无需junit-gradle-plugin即可直接运行JUnit5测试。请看WHAT'S NEW IN INTELLIJ IDEA .将您的 Idea 升级到这个新版本后,您可以创建一个 gradle 项目并执行以下步骤来测试如何运行 JUnit 5 测试。

  • build.gradle

    apply plugin: 'java'

    compileTestJava {
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
    }

    repositories {
    mavenCentral()
    }

    dependencies {
    testCompile("org.junit.jupiter:junit-jupiter-api:5.0.0-M1")
    testRuntime("org.junit.vintage:junit-vintage-engine:4.12.0-M1")
    //NOTE: if you replaced above testRuntime dependency with following
    //testRuntime("org.junit.jupiter:junit-jupiter-engine:5.0.0-M1")
    //this test would fail.
    }
  • 在您的测试源文件夹中创建一个类 FirstJUnit5Test

    import org.junit.jupiter.api.Test;
    import static org.junit.jupiter.api.Assertions.assertEquals;

    public class FirstJUnit5Test {
    @Test
    void myFirstTest() {
    assertEquals(2, 1 + 1);
    }
    }
  • 在左侧项目 Pane 中右键单击此测试类,然后选择“运行‘FirstJUnit5Test’”。您将看到如下结果: enter image description here
  • 更多信息,您可以查看this project from github .

更新

对于 IDEA 2016.3.3 及更高版本,dependencies 配置可以简化为:

dependencies {
testCompile("org.junit.jupiter:junit-jupiter-api:5.0.0-M3")
}

关于java - Gradle 项目在 IntelliJ 中运行 jUnit 5 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38293901/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com