Android 如何使用hilt在片段中注入视图模型mock
我正在尝试编写以下测试Android 如何使用hilt在片段中注入视图模型mock,android,android-testing,dagger-hilt,Android,Android Testing,Dagger Hilt,我正在尝试编写以下测试 class HomeFragmentTest : FragmentTest() { @MockK private lateinit var getUsers: GetUsers @MockK private lateinit var viewModel : UsersViewModel @Before fun setup(){ viewModel = UsersViewModel(getUsers) } @Test fun testHomeFragment(
class HomeFragmentTest : FragmentTest() {
@MockK
private lateinit var getUsers: GetUsers
@MockK
private lateinit var viewModel : UsersViewModel
@Before
fun setup(){
viewModel = UsersViewModel(getUsers)
}
@Test fun testHomeFragment() = runBlockingTest{
val users= listOf<UserEntity>(
UserEntity(0, "frodo"),
UserEntity(1, "sam"),
)
coEvery { getUsers.run(any()) } returns Either.Right(users)
//todo injnect this viewmodel in the homefragment.
}
}
class HomeFragmentTest:FragmentTest(){
@莫克
私有lateinit var getUsers:getUsers
@莫克
私有lateinit var viewModel:UsersViewModel
@以前
趣味设置(){
viewModel=UsersViewModel(getUsers)
}
@Test fun testHomeFragment()=runBlockingTest{
val users=listOf(
用户实体(0,“frodo”),
用户实体(1,“sam”),
)
coEvery{getUsers.run(any())}返回其中一个。右(users)
//todo injnect在homefragment中连接此viewmodel。
}
}
在我的片段中,我使用字段注入来注入视图模型依赖项,如下所示:
myViewModel by viewModels()
如何在测试中用视图模型的模拟版本替换“myViewModel”?这是否回答了您的问题?