gpt4 book ai didi

intellij-idea - Gradle 找不到我使用 Kotlin 和 JUnit 5 进行的测试

转载 作者:IT老高 更新时间:2023-10-28 13:36:04 25 4
gpt4 key购买 nike

我已经用 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 执行我的测试?

最佳答案

不,@JB Nizet 的第一条评论指出了这一点:在您的 JUnit 5 依赖项旁边添加 test.useJUnitPlatform()。就是这样。

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
}

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

关于intellij-idea - Gradle 找不到我使用 Kotlin 和 JUnit 5 进行的测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47969384/

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