Организация тестов в многомодульном проекте

Доброго времени)) Имеется модуль A. В нем в тестовых директориях лежат тестовые сущности (не тесты). Есть модуль Б, в котором лежат тесты, которые используют тестовые сущности из модуля А. Как такое можно реализовать. Если просто подключать через implementation project то тестовые сущности не видны при сборке


Ответы (1 шт):

Автор решения: Roman Konoval

Создайте новую конфигурацию для тестовых артефактов и потом используйте ee в других модулях.

Удобно задавать конфигурацию на уровне родительского модуля, т.е. в корневом build.gradle:

configure(subprojects) {
    configurations {
        testArtifacts
    }

    task testJar (type: Jar) {
        baseName = "${project.name}-test"
        from sourceSets.test.output
    }

    artifacts {
      testArtifacts testJar
    }

}

Теперь в модуле B можно указать зависимость от testArtifacts из A:

dependencies {
   // существующие зависимости

   // предполагаем, что A находится по пути path/to/A от корня проекта
   testCompile project (path: ":path:to:A", configuration: 'testArtifacts')
}
→ Ссылка