我正在为我一直从事的一个项目编写一些测试,在该项目中我必须测试音频播放器的按钮。这是我写的代码
fun test {
val data = fakeAudioLibrary.initializeAudioPlayer() //here data is a livedata
launch<AudioFragmentTestActivity>(
createAudioFragmentTestIntent(
internalProfileId
)
).use {
it.onActivity {
data.observeForever{ } /*Problem here*/
}
onView(withId(R.id.ivPlayPauseAudio)).perform(click())
onView(withId(R.id.ivPlayPauseAudio)).check(matches(withContentDescription("Pause")
}
}
这个测试失败了,但是当我写的时候
it.onActivity {
data.observeForever {
if(it.isCompleted()) {
onView(withId(R.id.ivPlayPauseAudio)).perform(click())
onView(withId(R.id.ivPlayPauseAudio)).check(matches(withContentDescription("Pause")
}
}
我读过它here,我认为它应该是双向的。
有人可以向我解释为什么会发生这种情况吗?