当前位置: 首页 > 知识库问答 >
问题:

在IntelliJ中运行JUnit5测试的Gradle项目

拓拔嘉运
2023-03-14
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'
}
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 test。

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\test-results\junit-platform\test-juniter.xml

共有1个答案

计光赫
2023-03-14

最新的IDEA2016.2现在支持JUnit5框架。您可以直接运行JUnit5测试,而不需要junit-gradle-plugin。请看看INTELLIJ的想法有什么新的。将您的想法升级到这个新版本后,您可以创建一个gradle项目,并执行以下步骤来测试如何运行JUnit5测试。

>

  • 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);
        }
    }
    
    dependencies {
        testCompile("org.junit.jupiter:junit-jupiter-api:5.0.0-M3")
    }
    

  •  类似资料:
    • 我创建了一个空的gradle项目,内部有一个模块(子项目),也作为gradle项目,但使用了Spring Boot2。 设置。分级: 子项目(新建):建造级次: 使用test runner运行test为:IntelliJ idea会编译并通过测试,但当我使用gradle时,如果运行单个测试,它会返回:

    • 有一种方法可以运行junit测试,只需在“mvn clean install”命令中添加参数?没有使用@Profile注释测试。

    • 一些注意事项: 问题与JUnit 4和5一起复制 IntelliJ IDEA 2019.3.3(社区版),构建#ic-193.6494.35,构建于2020年2月11日 测试在中 像Intelij 2019.1更新中断JUnit测试那样更改运行程序没有帮助 不使用结果相同

    • 使用Gradle及其JUnit4支持,我可以使用选项选择特定的测试,如下所示: 在使用JUnit5 Gradle任务时,此选项无效。当从命令行使用任务时,它会被无人值守地忽略。真正的工作是由完成的,它不支持以下选项: JUnit5插件支持选择特定的测试吗?

    • 右键点击Run可以很好地工作。我用 Intellijidea 2017.1.5, Gradle, JunitPlatformVersion='1.0.0-M6', JunitJupiterVersion='5.0.0-M6'

    • 我有一个基于Maven Spring的应用程序。这是一个使用java的Javaweb应用程序。 这是pom。我正在使用的xml: 当我进行清理、生成资源和安装时,会出现此错误,并且不会开始工作 我正在使用IntelliJ,但在使用Eclipse时出现了相同的错误。应用程序正在脱机工作。 对这个解决方案有什么想法吗?