Android 模拟当前时间
我正在使用它进行单元测试,希望验证是否使用当前时间(毫秒)参数调用了某个函数 在主应用程序中,函数调用:Android 模拟当前时间,android,unit-testing,date,kotlin,mockk,Android,Unit Testing,Date,Kotlin,Mockk,我正在使用它进行单元测试,希望验证是否使用当前时间(毫秒)参数调用了某个函数 在主应用程序中,函数调用: functionName(System.currentTimeMillis()) 但在测试中: verify(exactly = 1) { functionName(System.currentTimeMillis()) } 不起作用,因为毫秒总是不同的您可以使用any()。它只是验证是否使用任何 参数类型的参数(在本例中为Long) 您可以在调用函数之前存储时间戳,然
functionName(System.currentTimeMillis())
但在测试中:
verify(exactly = 1) {
functionName(System.currentTimeMillis()) }
不起作用,因为毫秒总是不同的您可以使用any()。它只是验证是否使用任何
参数类型的参数(在本例中为Long)
您可以在调用函数之前存储时间戳,然后检查该时间是否与添加了阈值的时间大致相同。好的,这可能不精确:)希望有匹配器。Thanks在调用函数之前,将时间戳存储为任何其他输入参数,然后根据该输入检查输出结果。您不需要嘲笑它,因为您希望
functionName
对System.currentTimeMillis()
执行某些操作。这是否回答了您的问题?任何测试用例都不会在经过其他时间(而不是当前时间)时进行测试。我的主要问题是测试准确时间是否为当前时间
verify(exactly = 1) {
functionName(any())
}