3

我有一个对象

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

我希望它在我的测试中成为一个存根(mock 术语中的轻松模拟)。

换句话说,我希望这个测试毫无例外地通过:

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

1 回答 1

1

Additionalevery { Foo.doSomething(any()) } answers {}可以解决单一方法的问题。

此测试通过:

@Test
fun shouldAskFooWithCorrectParams() {
    mockkObject(Foo) 
    every { Foo.doSomething(any()) } answers {}
    Foo.doSomething("hey!")
    verify(exactly = 1) { Foo.doSomething("hey!") }
}
于 2019-06-08T14:43:31.127 回答