【发布时间】:2020-03-27 06:24:20
【问题描述】:
我正在使用MockK 进行单元测试,如果使用当前时间(毫秒)参数调用了某个函数,我想使用verify。
在主应用程序中的函数调用:
functionName(System.currentTimeMillis())
但在测试中:
verify(exactly = 1) {
functionName(System.currentTimeMillis()) }
不起作用,因为毫秒总是不同的
【问题讨论】:
-
您可以在调用该函数之前存储时间戳,然后检查该时间是否大约与添加了一些阈值的时间相同。跨度>
-
好吧,这并不准确 :) 希望应该有匹配器。谢谢
-
然后在调用函数之前将时间戳存储为任何其他输入参数,然后根据该输入检查输出结果。你不需要嘲笑它,因为你期望
functionName对System.currentTimeMillis()做一些事情。 -
这能回答你的问题吗? Mocking time in Java 8's java.time API
标签: android unit-testing date kotlin mockk