Я пытаюсь создать UI-тест для моего приложения для Android с помощью Espresso.Мои действия расширяются AppCompatActivity
, и я использую ActivityTestRule
для запуска действия, но оно дает следующее исключение:
Type parameter bound for T in constructor ActivityTestRule<T : Activity (activityClass: Class<T!>!)is not satisfied: inferred type HomeActivity! is not a subtype of Activity!
Вот мой тестовый класс:
@RunWith(AndroidJUnit4::class)
class ProductListRestrictionsUITest {
@Rule @JvmField
var activityRule = ActivityTestRule(HomeActivity::class.java)
@Test
fun buttonClick_goToSecondActivity() {
onView(withId(R.id.floatingSearchView)).perform(click())
onView(withId(R.id.floatingSearchView)).perform(typeText("olut"))
onView(withId(R.id.floatingSearchView)).perform(pressKey(KeyEvent.KEYCODE_SEARCH))
// onView(withId(R.id.layout)).check(matches(isDisplayed()))
}
}
У меня естьтребуемые зависимости в файле gralde:
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test:rules:1.0.2'
// espresso support
androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.1', {
exclude group: 'com.android.support', module: 'support-annotations'
})
Я не смог найти ресурс, который говорит, какое другое правило использовать для AppCompatActivity
.Что я здесь не так делаю?