java.lang.IllegalStateException: нет зарегистрированных инструментов! Должен работать под регистрирующим прибором. вопрос андроид - PullRequest
0 голосов
/ 05 октября 2019

Я пытаюсь получить контекст, используя InstrumentationRegistry, используя новые (er) androidx библиотеки. androidx.test.core содержит класс InstrumentationRegistry, но выдает IllegalStateException. Должен ли я что-то инициализировать? Я запустил новый свежий проект для Android.

class SomeRepositoryTest {

    lateinit var context: Context

    @Before
    fun setUp() {
        context = InstrumentationRegistry.getInstrumentation().targetContext
    }

    @Test
    fun searchRepos() {
        // Some Test
    }
}

Зависимости:

android {
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
dependencies {

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    testImplementation group: 'androidx.test', name: 'core', version: '1.2.1-alpha02'
}

Ошибка:

java.lang.IllegalStateException: No instrumentation registered! Must run under a registering instrumentation.

    at androidx.test.platform.app.InstrumentationRegistry.getInstrumentation(InstrumentationRegistry.java:45)
    at nl.jimclermonts.myapplication.SomeRepositoryTest.setUp(SomeRepositoryTest.kt:14)
...