gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 05:43:38 25 4
gpt4 key购买 nike

我刚刚将 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/

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