Issue
I have a button when click on this, start activity A.
startActivityForResult(Intent(this, A::class.java)
I need to check in an esspresso test when click on the button, start activity A or not?
onView(withId(R.id.button))
.check(matches(isDisplayed()))
.check(matches(isEnabled()))
.perform(click())
// check is this A Activity start or not?
Solution
You can use espresso-intents package.
First, try to add the latest version into your build.gradle:
androidTestImplementation "androidx.test.espresso:espresso-intents:3.1.1"
Then, use IntentsTestRule to check whether your intent is started or not:
@get:Rule
val intentRule = IntentsTestRule(MainActivity::class.java)
@Test
fun verify_FakeActivity_is_started() {
onView(withId(R.id.button))
.check(matches(isDisplayed()))
.check(matches(isEnabled()))
.perform(click())
intended(hasComponent(FakeActivity::class.java.name))
}
Answered By - Saeed Masoumi
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.