问题
I wrote a very simple Activity
with a Button. When the button is clicked, I will start a new Fragment
. Now I want to test this logic in my Espresso UI Test. So I wrote this UI Test for my Activity
@RunWith(AndroidJUnit4::class)
@LargeTest
class MainMenuUiTest {
@get: Rule
val activityTestRule: ActivityTestRule<MainActivity> = ActivityTestRule(MainActivity::class.java)
@Test
fun switchToFragment() {
onView(withId(R.id.btn)).perform()
}
}
How can I test that my Fragment
is displayed when the button is clicked?
回答1:
Try the following:
@Test
fun switchToFragment() {
onView(withId(R.id.btn)).perform(click())
onView(withId(R.id.fragment)).check(matches(isDisplayed()))
}
If you're just learning about Espresso, the official guide is a good place to start. Also, here's the Espresso cheat sheet.
来源:https://stackoverflow.com/questions/54491130/how-to-test-if-a-fragment-is-visible-with-espresso