Как запускать тесты из test-jar в gradle?

#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 из командной строки. Похоже, это мне не помогает.