Как издеваться над объектами в расслабленном режиме? - PullRequest
0 голосов
/ 08 июня 2019

У меня есть объект

object Foo {
    fun doSomething(param: String) {
        throw Exception()
    }
}

Я хочу, чтобы он стал заглушкой (расслабленная насмешка в терминологии mockk) в моем тесте.

Другими словами, я хочу, чтобы этот тест прошел безисключение:

@Test 
fun shouldAskFooWithCorrectParams() { 
    mockkObject(Foo) // How to change it to make Foo a stub
    Foo.doSomething("hey!")
    verify(exactly = 1) { Foo.doSomething("hey!") }
}

1 Ответ

0 голосов
/ 08 июня 2019

Дополнительно every { Foo.doSomething(any()) } answers {} делает трюк для одного метода.

Этот тест проходит:

@Test
fun shouldAskFooWithCorrectParams() {
    mockkObject(Foo) 
    every { Foo.doSomething(any()) } answers {}
    Foo.doSomething("hey!")
    verify(exactly = 1) { Foo.doSomething("hey!") }
}
...