我开始使用Koin,我需要测试一个ViewModel,该ViewModel要求存储库从手机的内部存储中检索文件。
当我设置ViewModel测试时,我正在做:
@Before
fun setup() {
startKoin {
modules(dataModule)
}
declareMock<Repository> {
fakeAccount = moshiAccountAdapter.fromJson(json)
whenever(this.getAccount()).thenReturn(fakeAccount)
}
}
但是存储库getAccount
方法是suspend fun getAccount(): Account?
,所以我在ViewModelTest
类中看到一个错误,说suspend function getAccount should be called only from a coroutine or from another suspending function
。
谢谢!
答案 0 :(得分:1)
您可以利用runBlocking { }
块运行挂起的功能以进行测试