2022年8月8日月曜日

kotlin coroutines 1.6.4 で TestScope.backgroundScope が追加された

https://github.com/Kotlin/kotlinx.coroutines/releases/tag/1.6.4

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 件のコメント:

コメントを投稿