Я пытаюсь запустить модульное тестирование на модуле Android. Этот модуль имеет несколько разновидностей продукта с одним измерением и двумя типами сборки (отладка + выпуск). Также я определил исходные наборы для основного, тестового и каждого из вариантов.
С чем я борюсь, так это запускаю любой тест в таком модуле.
Единственным рабочим решением является изменение зависимости тестовых библиотек от testImplementation к простой реализации.
код приложения находится в src / nl / my-package и т. Д.
код для теста находится в src / test / java / nl / my-package и т. Д.
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
test {
java.srcDirs = ['src/test/java']
resources.srcDirs = ['src/test/java']
}
dev {
res.srcDirs = ['default/res']
}
stage {
res.srcDirs = ['default/res']
}
зависимость:
testImplementation "junit:junit:4.12"
testImplementation "org.assertj:assertj-core:1.7.1"
testImplementation "org.robolectric:robolectric:3.4.2"
testImplementation 'org.mockito:mockito-inline:2.13.0'
Код для простого теста:
package nl.my_package
import org.junit.Test
class CopyDisciplineSketchTest {
@Test
fun test() {
assert(true)
}
}
Когда я просто запускаю его, используя зависимости проекта kapt в качестве процессора аннотаций, ошибка просто
ошибка: несовместимые типы: NonExistentClass не может быть преобразован в аннотацию
но когда я изменяю его, как это предлагается в других ответах на простой annotationProcessor , ошибка возникает
Неразрешенная ссылка: Тест
Кто-нибудь знает, как с этим бороться?
В других модулях этого проекта (которые являются простыми модулями данных и доменов без действий и т. Д.) Такой код работает корректно.