【发布时间】:2019-01-12 10:18:56
【问题描述】:
我知道如何模拟当前时间,我已经尝试过了。问题是我的程序使用了threading.Timer,它似乎不受模拟时间的影响。
这个问题肯定发生过。我怎样才能“睡觉”我的单元测试或以某种方式模拟时间的流逝?
调用sleep 可能是个坏主意,因为实际执行速度取决于单元测试运行的硬件。
对这个问题有什么建议吗?
【问题讨论】:
-
你知道如何模拟当前时间是什么意思?你能展示你的代码的相关部分吗?而且,您能否展示您的程序如何使用 threading.Timer?最后,您能解释一下您尝试通过测试实现的目标吗?
-
程序使用定时器在 60 秒后执行一些任务。我需要测试该任务确实在 60 秒后执行。我想通过测量任务输出来实现这一点,而不是计算回调函数执行了多少次。计时器嵌入在更大的代码中。 (否则看起来我正在尝试测试计时器类本身。)
标签: python unit-testing pytest