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())
}