我想在 Android 中测试以下非常常见的用例作为仪器测试:
这是我的 Viewmodel 中的函数:
fun fetch() {
_loading.value = true //loading is shown
viewModelScope.launch {
val results = fetchUseCase() //suspend function
_result.postValue(results)
_loading.postValue(false) //loading is not displayed
}
}
Run Code Online (Sandbox Code Playgroud)
@HiltAndroidTest
@UninstallModules(CoroutinesDispatcherModule::class)
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTestJunit4Deprecated {
@get:Rule
var hiltRule = HiltAndroidRule(this)
@ExperimentalCoroutinesApi
@get:Rule
var mainCoroutineRule = MainCoroutineRule()
@Before
fun setup() {
ActivityScenario.launch(HomeScreenActivity::class.java)
}
@ExperimentalCoroutinesApi
@Test
fun fetchTest() {
//pausing the long running tasks
mainCoroutineRule.pauseDispatcher()
//When clicking the …Run Code Online (Sandbox Code Playgroud)