sinonjs - advance clock to 59 minutes and wait for 1 minute actually(Sinonjs-将时钟提前到59分钟,并实际等待1分钟)
问题描述
我有一个用于自动注销功能的Web组件,它显示了第59分钟的消息模式窗口,并在没有活动的情况下再停留一分钟。如果用户没有点击窗口上的任何位置,则注销该用户。因此,一小时内没有任何活动将自动注销用户。该功能工作正常。
现在,为了测试此功能,我尝试使用sinonjs
。我使用了FakeTimers
,但无法达到效果。我正在尝试测试显示消息的模式窗口。
代码如下:
sinon 5.0.10
如何使用sinonjs
FakeTimer将时间提前到n分钟,然后实际等待n分钟?
推荐答案
SNON的假计时器非常容易使用,也是我最喜欢的SINON功能。
用法如下
在您的代码中
在您的测试中
所以SINON基本上(以编程方式)快进计时器,这样我们的测试就可以检查所需的结果,而无需实际等待时间,因为所有测试框架通常都有2秒的等待超时,在此之后测试用例将失败。
在您的情况下,要等待59分钟,您可以写
并且不要忘记在结束时恢复时钟,就像您已经做的那样。
这篇关于Sinonjs-将时钟提前到59分钟,并实际等待1分钟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!