Как проверить вызовы методов в разных CoroutineScope в модульных тестах с помощью Mockk?Android

Форум для тех, кто программирует под Android
Anonymous
Как проверить вызовы методов в разных CoroutineScope в модульных тестах с помощью Mockk?

Сообщение Anonymous »

Я пытаюсь проверить, что вызывается этот метод в объекте зависимости, но поскольку это происходит в разных CoroutineScope, coVerify всегда терпит неудачу.
Как проверить, что вызывается someMethod()?
Вот мой код:
SUT:
class SomeClass(
private val coroutineScope: CoroutineScope,
private val someDependency: SomeDependency
) {
fun run() {
coroutineScope.launch {
someDependency.someMethod()
}
}
}

Зависимость:
class SomeDependency {
fun someMethod() {
println("SomeDependency.someMethod")
}
}

Тест (всегда проваливается):
class SomeClassTest {

@MockK(relaxed = true)
private lateinit var someDependency: SomeDependency

private val testScope = TestScope()
private lateinit var someClass: SomeClass

@Before
fun setup() {
MockKAnnotations.init(this)
someClass = SomeClass(
testScope,
someDataSource
)
}

@Test
fun `when run, should call someDependency someMethod`() = runTest {
someClass.run()
coVerify { someDependency.someMethod() }
}

}


Подробнее здесь: https://stackoverflow.com/questions/779 ... with-mockk

Вернуться в «Android»