Gradle (Java): тестовая задача должна использовать сгенерированные файлы .jar, а не файлы .class в classpath - PullRequest
0 голосов
/ 06 января 2019

Gradle с применением плагина: 'java' в build.gradle. Файл создаст файл .jar, а тестовое задание запускает тесты junit:

apply plugin: 'java'

repositories {
    mavenCentral()
}

dependencies {
  testCompile 'junit:junit:4.12'
}

Это работает. Но чтобы убедиться, что общедоступные тесты API работают с сгенерированным файлом .jar, я хочу, чтобы задача 'test' выполняла тест с сгенерированным файлом .jar из папки build / libs в classpath, а не с генерируемыми файлами .class из папки build / classes в classpath.

Не работает, потому что исходные наборы установлены глобально:

tasks.withType(Test) {
    sourceSets {
        main {
            java {
                exclude '**'
            }
        }
    }
}

Частично работает: мультипроект (тест и jar, разделенные на два проекта gradle):

dependencies {
  compile project(":jar_project")
  testCompile 'junit:junit:4.12'
}

в этом случае используется jar_project.jar, но закрытый тест пакета также выполняется без ошибки.

У кого-нибудь есть идеи, как запускать тесты с зависимостью .jar и игнорировать файлы .class?

Спасибо, мякоть

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