Настройка выходного модуля Gradle только для тестовых зависимостей - PullRequest
0 голосов
/ 23 декабря 2018

У меня есть проект Gradle , содержащий два модуля app и test, где test содержит утилиты только для тестирования.Теперь я хотел бы настроить этот модуль, чтобы он не включал никаких выходов в main конфигурацию app;даже не случайно.

implementation project(':test') # should fail or not contain any inputs

testImplementation project(':test') # should include all inputs
androidTestImplementation project(':test') # should include all inputs

Как настроить test на такое поведение?

Я бы предположил, что это будет аналогично тому, как плагин Android обрабатывает конфигурации для типов сборки и разновидностей, но я также не уверен, как это выяснить.

Я думаю, что они обрабатываются с Gradle потребительскими атрибутами .Возможно, есть фильтр или атрибут, который можно применить к нему, чтобы сделать его доступным только для тестов.

Ответы [ 2 ]

0 голосов
/ 22 августа 2019

Найдено: Использовать отдельные тестовые модули для инструментальных тестов , что говорит о том, как это сделать:

... применить плагин com.android.test вместо com.android.library.

0 голосов
/ 21 августа 2019

Для этого можно использовать аннотации: https://developer.android.com/studio/write/annotations#visible

Другим способом было бы исключить тестирование кода для нового модуля с именем sub_test и использовать testImplementation или androidTestImplementation этого sub_test модуля вваш test модуль

...