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

Amr*_*916 5 unit-testing mockito kotlin powermockito

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

 fun setName(val auxName:String) {
        val configUrl = getConfig(auxName)
    }
Run Code Online (Sandbox Code Playgroud)

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

object Configuration{
    fun getConfig(auxName:String){
    ....
    }
    }
Run Code Online (Sandbox Code Playgroud)

以下是我尝试过的测试

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

我没有收到任何错误,但没有模拟 getConfig 方法。执行实际的实现。我也尝试使用 Powermockito。请在这件事上给予我帮助

dey*_*dey 0

问题可能出在单例对象上,您可以尝试这个答案:/sf/answers/2658461431/