background で実行してテスト終了時にキャンセルされる coroutines を起動できます。
いままでは明示的に cancelAndJoin() していたのがいらなくなりますね。
前
@Test
fun test() = runTest {
val list = mutableListOf<SomeValue>()
val job = launch(UnconfinedTestDispatcher()) {
repository.someValueFlow().collect {
list.add(it)
}
}
...
assertEquals(expectedSomeValueList, list)
job.cancelAndJoin()
}
後
@Test
fun test() = runTest {
val list = mutableListOf<SomeValue>()
backgroundScope.launch(UnconfinedTestDispatcher()) {
repository.someValueFlow().collect {
list.add(it)
}
}
...
assertEquals(expectedSomeValueList, list)
}
0 件のコメント:
コメントを投稿