#java #gradle #junit
#java #gradle #junit
Вопрос:
У меня есть сборка нескольких проектов в gradle. В проекте gradle-playground-a
я создаю test-jar с некоторыми тестами junit:
plugins {
id 'java'
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
}
repositories {
mavenCentral()
}
test.enabled = false
configurations {
testArtifacts.extendsFrom testRuntime
}
task testJar(type: Jar) {
classifier "test"
from sourceSets.test.output
}
artifacts {
testArtifacts testJar
}
Теперь я хотел бы запустить тесты test-jar в другом проекте gradle-playground-b
. Поэтому у меня есть:
plugins {
id 'java'
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
testRuntimeOnly project (path: ":gradle-playground-a", configuration: 'testArtifacts')
}
repositories {
mavenCentral()
}
Однако тесты из test-jar не выполняются. Когда я смотрю на вывод отладки gradles, я вижу, что test-jar включен в путь к классу для выполнения теста gradle-playground-b
.
То, что я пытаюсь сделать, это иметь эквивалент функциональности mavens surefire depednenciesToScan
.
Как мне выполнить тесты из test-jar при тестировании gradle-playground-b
?
Ответ №1:
Я просто использую «кнопку» в netbeans в первом проекте, чтобы активировать второй проект. Это единственный способ, которым я действительно знаю, как это сделать, потому что я выполнил несколько ограниченных проектов, я почти уверен, что вы могли бы сделать это в VB с помощью Visual STudio, но поскольку вы в Java используете netbeans, и это бесплатно.
Комментарии:
1. Извините, я использую обычный gradle из командной строки. Похоже, это мне не помогает.