Android: как я могу использовать Mock для обоих тестовых кодов?

Я разрабатываю приложение для Android, используя «Android Jetpack WorkManager».

Мой код докладчика использует его.

Я хочу протестировать свой код докладчика.

Сначала я пытался использовать тест JUnit, но из-за WorkManager меняю его на AndroidTest. Ниже мой build.gradle.

dependencies {
    testImplementation 'junit:junit:4.12'
    testImplementation 'org.mockito:mockito-all:1.10.19'
}

В этом случае я не могу использовать «Mock» в своем коде AndroidTest. Поэтому я изменил зависимость, например:

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'org.mockito:mockito-all:1.10.19'
}

Затем я не могу использовать «Mock» в своем тестовом коде JUnit. Итак, я попытался:

dependencies {
    testImplementation 'junit:junit:4.12'
    testImplementation 'org.mockito:mockito-all:1.10.19'
    androidTestImplementation 'org.mockito:mockito-all:1.10.19'
}

Это тоже не работает...

Как мне это сделать?

0
0
92
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Если вам нужно имитировать компоненты Android, вы можете использовать Robolectric, чтобы сделать это в своих модульных тестах.

Ответ принят как подходящий

Я нашел решение: mockito-android

dependency {
    testImplementation 'junit:junit:4.12'
    testImplementation 'org.mockito:mockito-all:1.10.19'
    androidTestImplementation 'org.mockito:mockito-android:2.25.1'
}

Другие вопросы по теме