Кто-нибудь знает, как запустить тесты из другого проекта gradle и по-прежнему получать данные отчетов о покрытии Эммы?
Вот мой текущий макет:
Root/
settings.gradle (no explicit build.gradle - just defines all subprojects)
SubProjectA/
build.gradle
src/ (all real source is here)
SubProjectATest/
build.gradle
src/ (all testing code is here)
SubProjectB/ (similar structure as A)
SubProjectBTest/ (similar structure as ATest)
В настоящее время я использую плагин emma, и я хотел бы собрать SubProjectA и запустить все тесты в SubProjectATest из build.gradle SubProjectA .
Вот некоторые вещи, которые я пробовал в build.gradle SubProjectA
testCompile project(':SubProjectATest').sourceSets.test.classes
(, как предлагается в этой статье ), но я получил ошибку"Could not find property 'sourceSets' on project
" - Просто линейка
testCompile project(':SubProjectATest')
, но затем я получаю "..SubProjectA/build/classes/test', not found
", а также "Пропуск задачи" :SubProjectA:compileTestJava' as it has no source files.
" Просто добавлениенабор источника, подобный следующему:
test {java {srcDir '../SubProjectATest/src'}}
Добавление исходного набора в (вариант 3) - единственный вариант, который сработал, но кажется, что это не так.Кто-нибудь знает, как сделать это, используя зависимости проекта?
Обновление # 1 Я также попробовал один из ответов ниже, чтобы использовать test.dependsOn, и тесты все же выполняются, но Плагин emma сообщил следующее: build/classes/test', not found