Héc*_*tor 10 testing junit intellij-idea kotlin
我有一个Kotlin项目,当我运行JUnit测试时,在IntelliJ中看不到测试执行结果,而是得到此消息:
未收到测试事件
我正在使用此设置:
macOS Mojave
Intellij CE 2019.2
JDK 11.0.3
Kotlin 1.3.50
Gradle 5.2.1
JUnit 4.12
Run Code Online (Sandbox Code Playgroud)
你能帮助我吗?
Jac*_*k J 34
在尝试为自己解决这个问题时,我发现 JUnit 4 可以工作,但 JUnit 5 报告“未收到测试”。根据petrikainulainen.net我找到了我的解决方案。
尽管 Gradle 4.6(显然所有更新的版本)都有对 JUnit 5 的本机支持,但默认情况下并未启用此支持。如果我们想启用它,我们必须确保测试任务使用 JUnit 5 而不是 JUnit 4。
当我将以下代码添加到 Gradle 时,JUnit 5 工作正常。
test {
useJUnitPlatform()
}
Run Code Online (Sandbox Code Playgroud)
小智 16
就我而言,我有一个无效的 Gradle JVM 配置(配置的 jdk 已从文件系统中删除)。
要修复它,必须在 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM 上更改 Gradle JVM。
由于无效的 JDK 路径,它是红色的。
IntelliJ 版本:2019.2.3
小智 7
对我来说,发生同样的问题,下面的更改对我有用。我正在使用的IntelliJ版本:2019.2.2
在IntelliJ IDE中,转到
文件->设置->构建,执行,部署->构建工具-> Gradle
在Run test using:
下拉菜单中,此选项为:Gradle(default)
将其更改为IntelliJ IDEA
清除gradle
缓存对我有用;
./gradlew clean test --no-build-cache
如果它不起作用,你可以尝试这个
./gradlew clean test --no-build-cache --no-configuration-cache --rerun-tasks
JetBrains 问题跟踪器中提到了此解决方案。我只是想把它放在这里作为快捷方式。
小智 5
对于那些使用 IntelliJ 和 Kotlin 仍然可能遇到此问题的人:
将以下行添加到 build.grade.kts。我希望它对你们中的一些人有所帮助。
dependencies {
testImplementation(kotlin("test-junit5"))
testImplementation(platform("org.junit:junit-bom:5.7.0"))
testImplementation("org.junit.jupiter:junit-jupiter")
}
tasks.test {
useJUnitPlatform()
testLogging {
events("passed", "skipped", "failed")
}
}
Run Code Online (Sandbox Code Playgroud)
PS:没有添加task.
之前test {...}
我收到以下错误!
the function invoke() is not found
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3967 次 |
最近记录: |