通过右键单击`sources-root`与`test-sources-root`文件夹,IntelliJ IDEA Gradle vs. Maven“运行所有测试”?

问题描述 投票:0回答:2

我刚刚将Maven Java / Kotlin项目转换为Gradle,它似乎总体上运行良好(这是我第一次使用Gradle)。但是我习惯右键点击我的sources-root文件夹(src/main/java)来运行Rebuild '<default>'Run 'All Tests'(在不同的时间)。现在,当我这样做进行测试时,我得到一个小黄色气球:

在模块“MyProject.main”中找不到测试。请改用模块“MyProject.test”

我可以训练自己从test-sources-root文件夹(Run 'All Tests')右键单击src/test/java。但奇怪的是,IDEA会提出做一些它无法做到的事情。

我想知道我是否需要在我的build.gradlesettings.gradle文件中指定不同/更好的东西?或者可能在某处调整IntelliJ设置?有了Maven项目,我怀疑每当我更改Maven时,我只需要告诉IDEA自动刷新它的项目。

我的整个项目都被检入Github:TestUtils

如果你不想点击,这是我的build.gradle文件:

/*
 * This file was generated by the Gradle 'init' task.
 */

plugins {
    id 'java'
    id 'maven-publish'
    id 'org.jetbrains.kotlin.jvm' version '1.3.21'
}

repositories {
    mavenLocal()
    maven {
        url = 'http://repo.maven.apache.org/maven2'
    }
}

dependencies {
    compile 'junit:junit:4.12'
    compile 'javax.servlet:javax.servlet-api:4.0.1'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
}

task sourcesJar(type: Jar) {
    classifier = 'sources'
    from(sourceSets.main.allJava)
}

task javadocJar(type: Jar) {
    classifier = 'javadoc'
    from(javadoc.destinationDir)
}

group = 'org.organicdesign.testUtils'
version = '0.0.8'
description = 'TestUtils'
sourceCompatibility = '1.8'

publishing {
    publications {
        maven(MavenPublication) {
            from(components.java)
            artifact(sourcesJar)
            artifact(javadocJar)
        }
    }
}

这是settings.gradle:

/*
 * This file was generated by the Gradle 'init' task.
 */

rootProject.name = 'TestUtils'
java gradle intellij-idea configuration
2个回答
1
投票

在Maven项目中,同一模块包含源根和测试源根。在Gradle项目中,IDE正在为源集创建单独的模块,因此源和测试源将位于不同的模块中。

您可以禁用“为每个源集创建单独的模块”选项并重新导入项目:

Create separate module per source set


0
投票

当我在一个文件夹中解压缩Gradle,设置GRADLE_HOME并将其添加到我的路径时,我遇到了各种问题,IntelliJ不知道需要重建什么。 Deleting IntelliJ's output directory帮助了一些人。

然后有一天,将IDEA升级为:

IntelliJ IDEA 2019.1 (Ultimate Edition)
Build #IU-191.6183.87, built on March 27, 2019
JRE: 1.8.0_202-release-1483-b39 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.15.0-47-generic

然后我使用SDKMAN!作为Gradle docs instructed安装Gradle并将项目重新导入IDEA。这个问题和我所有其他构建问题都消失了。哪些事情真正解决了我的问题?我不知道。

© www.soinside.com 2019 - 2024. All rights reserved.