java - IntelliJ IDEA Gradle 与 Maven "Run all tests"通过右键单击 `sources-root` 与 `test-sources-root` 文件夹?

标签 java gradle intellij-idea configuration

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

Tests were not found in module "MyProject.main". Use module "MyProject.test" instead

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

我想知道我是否需要在 build.gradle 中指定不同/更好的内容或者可能settings.gradle文件?或者也许在某处调整 IntelliJ 设置?对于 Maven 项目,我怀疑我只需要告诉 IDEA 在我更改 Maven 项目时自动刷新其项目即可。

我的整个项目已 checkin 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'

最佳答案

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

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

Create separate module per source set

关于java - IntelliJ IDEA Gradle 与 Maven "Run all tests"通过右键单击 `sources-root` 与 `test-sources-root` 文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55223814/

相关文章:

java - 将 Java 项目部署到 JBoss 服务器

java - jbpm 6 - 示例 Web 应用程序 "rewards-basic"错误

java - Gradle编译Java失败sun.net.www.protocol.http.ntlm.NTLMAuthenticationCallback

intellij-idea - 在 IntelliJ IDEA 中运行测试时出现 java.lang.NoSuchMethodError

intellij-idea - Tomcat 7 + IntelliJ 绝对uri : http://java. sun.com/jsp/jSTL/core 问题

java - 是否可以通过在 Android 上使用 Appium 滑动来从最近使用的应用程序屏幕中终止应用程序?

java - 从零开始实现双向链表,remove()方法出错

android - JitPack 不会使用 GitHub 存储库 - 包含演示该问题的示例存储库

android - 提供 gradle assembleRelease crashlyticsUploadDistributionRelease 的 apk 路径

java - 为什么 IntelliJ Idea 无法识别我的 Spek 测试?