IntelliJ IDEA Gradle vs. Maven «Запустите все тесты», щелкнув правой кнопкой мыши по папке «sources-root» или «test-sources-root»? - PullRequest
0 голосов
/ 18 марта 2019

Я только что преобразовал проект Maven Java / Kotlin в Gradle, и в целом он работает хорошо (я впервые использую Gradle).Но у меня есть привычка щелкать правой кнопкой мыши на моей корневой папке с источниками (src/main/java), чтобы запустить и Rebuild '<default>' и Run 'All Tests' (в разное время).Теперь, когда я делаю это для запуска тестов, у меня появляется маленький желтый шарик:

Тесты не найдены в модуле "MyProject.main".Вместо этого используйте модуль «MyProject.test»

Я могу научиться щелкать правой кнопкой мыши, Run 'All Tests' из корневой папки test-sources-root (src/test/java).Но странно, что IDEA предложит сделать то, чего не может сделать.

Интересно, нужно ли мне указать что-то другое / лучше в моих build.gradle или, возможно, settings.gradle файлах?Или, может быть, настроить параметр IntelliJ где-нибудь?С проектом Maven я бы заподозрил, что мне нужно просто сказать IDEA, чтобы он автоматически обновлял свой проект всякий раз, когда я изменяю проект Maven.

Весь мой проект проверен на 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)
        }
    }
}

Вот настройки.gradle:

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

rootProject.name = 'TestUtils'

Ответы [ 2 ]

1 голос
/ 18 марта 2019

В проекте Maven один и тот же модуль содержит как корни источника, так и корни источника теста.В проекте Gradle IDE создает отдельные модули для наборов источников, поэтому источники и тестовые источники будут находиться в разных модулях.

Вы можете отключить параметр Создать отдельный модуль для набора источников и повторно импортируйте проект:

Create separate module per source set

0 голосов
/ 03 апреля 2019

Когда я просто разархивировал Gradle в папку, установил GRADLE_HOME и добавил его в свой путь, у меня возникли всевозможные проблемы с IntelliJ, не зная, что необходимо восстановить. Удаление выходного каталога IntelliJ помогло некоторым.

Затем однажды обновил 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

Затем я установил Gradle, используя SDKMAN! как Документы Gradle дали команду и повторно импортировали проект в IDEA.Эта проблема и все другие мои проблемы со сборкой исчезли.Что из этого действительно решило мою проблему?Я не знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...