Sample.kt
class SampleA() {
suspend fun methodA() = methodB()
private suspend fun methodB() = { Log.i("Sample", "ここでいろんな処理をする") }
}
SampleTest.kt
class SampleATest() {
private sampleA = spyk(SampleA(), recordPrivateCalls = true)
@Test
fun test_sample_A() = runTest {
coEvery { sampleA["methodB"]() as Unit } just Runs // as Unitが大事
sampleA.methodA()
verify { sampleA["methodB"]() }
}
}
as Unit
をつけずにIDEの示す通り脳停止で書くと coEvery { sampleA["methodB"]() } just Await
になり、一生UnitTestが終わらない