如何模拟Kotlin对象进行单元测试

时间:2019-04-01 06:08:33

标签: unit-testing kotlin mockito powermockito

我有一个示例方法(需要编写测试用例),如下所示,

 fun setName(val auxName:String) {
        val configUrl = getConfig(auxName)
    }

我想模拟getConfig方法并返回一个特定的字符串值。 getConfig是Kotlin对象中的一种方法,如下所示,

object Configuration{
    fun getConfig(auxName:String){
    ....
    }
    }

下面是我尝试过的测试

@Test
fun setTest()
{
val testname="test"
val testObject=Mockito.mock(Configuration::class.java)
doReturn("configTest").`when`(testObject).getConfig(Mockito.anyString())
setName(testname)
}

我没有收到任何错误,但是没有模拟getConfig方法。实际的执行被执行。我也尝试过使用Powermockito。请帮助我

1 个答案:

答案 0 :(得分:0)

问题可能出在单例对象上,您可以尝试以下答案:https://stackoverflow.com/a/37978020/3703819