热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Gradle找不到我的Kotlin和JUnit5测试

如何解决《Gradle找不到我的Kotlin和JUnit5测试》经验,为你挑选了1个好方法。

我已经用Kotlin和Junit 5编写了一些基本的单元测试。不幸的是,当我从Intellij IDEA运行它们时,Gradle找不到这些测试。我从Gradle收到消息“找不到给定的测试包括:[de.mhaug.phd.btcwallet.BasicTests]”,从Intellij收到消息“未收到测试事件”。

有趣的是,从命令行使用“ ./gradlew:clean:test”运行该命令可以报告构建成功。但是,我的第一个测试显然是红色的,因此这表明Gradle没有执行它。

我已经尝试使用更详细的输出来运行它,但是没有任何帮助。这是一个最小的(不是)工作示例:

package de.mhaug.phd.btcwallet

import org.junit.jupiter.api.Assertions.assertEquals
import org.junit.jupiter.api.Assertions.assertFalse
import org.junit.jupiter.api.Test

class BasicTests {
  @Test
  fun hey() {
    assertEquals(3,1+1)
  }

  @Test
  fun hey2() {
    assertFalse(3==1+1)
  }
}

这是我的build.gradle:

buildscript {
    ext.kotlin_version = '1.2.10'

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

group 'de.mhaug.phd'
version '1.0-SNAPSHOT'

apply plugin: 'kotlin'

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
    compile group: 'org.bouncycastle', name: 'bcprov-jdk16', version: '1.46'
    testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.0.2'
    testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.0.2'
//    testCompile group: 'org.junit.platform', name: 'junit-platform-runner', version: ''
//    testCompile group: 'org.junit.jupiter', name: 'junit-jupiter-params', version: '5.0.2'
}

compileKotlin {
    kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
    kotlinOptions.jvmTarget = "1.8"
}

如何使Intellij / Gradle执行测试?



1> WesternGun..:

不,@ JB Nizet的第一条评论指出:test.useJUnitPlatform()与JUnit 5依赖项一起添加。就是这样

http://junit.org/junit5/docs/current/user-guide/#running-tests-build-gradle

test {
    useJUnitPlatform()
}

要么:

dependency {
    ...
    // junit 5
    testImplementation ('org.junit.jupiter:junit-jupiter-api')
    testCompile ('org.junit.jupiter:junit-jupiter-params')
    testRuntime ('org.junit.jupiter:junit-jupiter-engine')
    testCompile ('org.mockito:mockito-junit-jupiter')
    test.useJUnitPlatform() // fix "test events not received" bug in IDEA
}

支持他的评论,而不是这个答案!


推荐阅读
author-avatar
longxi
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有