Dan*_*orn 4 android unit-testing kotlin kotlin-coroutines
TestScope有人可以提供使用新功能并TestScope.launch同时使用协程进行测试的高级示例吗?
似乎在新kotlinx.coroutines.test版本中他们添加了一些TestScope对库的调用。此外,他们已经弃用了旧的TestCoroutineDispatcher并告知使用它TestScope.runTests,但是,他们没有添加太多关于如何使用它的文档。我能找到的就是这个。
谁能给我提供一些在不同场景下使用的额外示例?
我还可以通过评论中提到的@Joffrey 来解决这个问题。您只需要runTest { }在测试代码中使用协程作用域即可。通过使用,您可以在块内runTest { }使用.TestScopethis
就我而言,viewModel 中有一个类似这样的流函数。它正在里面运行viewModelScope。
fun getFriendDataWithFlow() {
viewModelScope.launch {
repository.loadFriendsWithFlow()
...
}
}
Run Code Online (Sandbox Code Playgroud)
我应该在我的测试代码中对此进行测试,并且我像这样使用它。
@ExperimentalCoroutinesApi
@Before
fun setup() {
Dispatchers.setMain(StandardTestDispatcher())
}
@ExperimentalCoroutinesApi
@Test
fun temp() {
runTest {
viewModel.getFriendDataWithFlow()
}
}
Run Code Online (Sandbox Code Playgroud)
我所做的只是添加runTest { }块,并在块内添加协程代码。这对我有用。我的测试协程依赖项是"org.jetbrains.kotlinx:kotlinx-coroutines-test:1.6.0-RC".
| 归档时间: |
|
| 查看次数: |
3419 次 |
| 最近记录: |