我在 Kotlin 中有一个免费函数,我想模拟它以进行测试。
我的免费功能是这样的:
fun somethingAwesomeIsDoneHere(param: String) : String {
// Awesome
}
在我的测试中,我想模拟/ stub 它,以便在调用它时返回模拟值。
when(somethingAwesomeIsDoneHere(something)).thenReturn(retValue)
即使可以用 PowerMock 完成,也请告诉我。
PS:我的项目使用 Kotlin 1.0.1-2。
最佳答案
你不能用 Mockito 做到这一点,但我认为它可以用 PowerMock 做到。假设 somethingAwesomeIsDoneHere()
位于 File.kt
中。然后你必须模拟 FileKt
类,它是静态方法:
mockStatic(FileKt::class.java)
expect(somethingAwesomeIsDoneHere(something)).andReturn(retValue)
replay(FileKt::class.java)