Espresso Fragment Test
这是 Espresso 的第二篇,Fragment 的 UI 测试。
它包括两部分内容, 一是测试 fragment 的 UI 测试,另外一部分是 fragment 的跳转测试。
参考代码来源:youtube 视频Fragments in Isolation Espresso Testing (Espresso for Beginners PART 6)
页面是一个电影介绍页 MovieDetailFragment,包括:
DirectorsFragmentStarActorsFragment
launchFragmentInContainer
是创建测试fragment 的方法,被创建的 fragment 可以用于交互
launch
也是创建测试 fragment 的方法,但是被创建的 fragment 不可进行交互
官方文档:https://developer.android.com/guide/fragments/test
测试页面包含, DirectorsFragmentTest 和 StarActorsFragmentTest
如下图所示

MovieDetailFragmentTest 是测试 MovieDetailFragment, 主要是验证 MovieDetailFragment 的创建展示。
@RunWith(AndroidJUnit4ClassRunner::class)
class MovieDetailFragmentTest {
@Test
fun test_isMovieDataVisible() {
// SETUP
val movie = THE_RUNDOWN
val fragmentFactory = MovieFragmentFactory()
val bundle = Bundle()
bundle.putInt("movie_id", movie.id)
val scenario = launchFragmentInContainer<MovieDetailFragment>(
fragmentArgs = bundle,
factory = fragmentFactory
)
// VERIFY
onView(withId(R.id.movie_title)