未找到测试/未收到测试事件

时间:2021-07-15 20:12:02

标签: spring-boot gradle intellij-idea

您好,Gradle 和 IntelliJ 出现了一个不知从哪里出现的问题。一切正常,但有一天它停止工作。我指的是 IntelliJ 中与 Gradle 的任何交互。我有 Spring Boot 应用程序 Gradle 6.7。当根目录中没有 .gradle 目录时,一切正常。如果目录存在我得到

<块引用>

未配置主类名,无法解析

用于 gradle 构建或

<块引用>

未收到测试事件

用于 gradle 测试。 如果我删除 .gradle 目录,一个 gradle 任务就完成了,有些任务会一次又一次地完成。 如果我尝试通过 IntelliJ runner 运行测试,并且存在 .gradle 目录,我会得到

<块引用>

未找到任何测试

我注意到在第一次构建后,构建目录包含了预期的所有内容。但是当我运行另一个任务时,构建目录以某种方式清空,我相信没有 编译的源代码会导致错误。

我在类路径上没有老式引擎,只有用于 junit 测试的 jupiter。

我尝试清除 gradle 缓存,同时使 IntelliJ 缓存无效,使用旧版本重新安装 IntelliJ,完全卸载 IntelliJ 并安装新版本。没有任何帮助。

有人知道如何解决吗?

谢谢

更新:

build.gradle 关于我能够重现问题的内容:

plugins {
    id 'org.springframework.boot' version '2.5.2'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
    useJUnitPlatform()
}

我发现导致该行为的文件是 executionHistory.bin。如果该文件存在,则会破坏构建。

2 个答案:

答案 0 :(得分:0)

根据您提供的内容,这是一个有点疯狂的猜测,但也许您遗漏了

tasks.withType(Test) {
    useJUnitPlatform()
}

在你的构建gradle中

答案 1 :(得分:0)

我花了很多时间来寻找我烦恼的根源。事实证明,Gradle 在 exFAT 上无法正常工作。 exFAT 是我在加密分区上使用的文件系统。当我将项目移动到 NTSC 文件系统时,一切都按预期工作......