残疾计时器的单元测试

时间:2013-01-01 06:23:45

标签: javascript node.js unit-testing

我有一个使用计时器定期调用函数的组件。从外面我可以配置该计时器的费率。

测试这个基本上是微不足道的:设置计时器,等待一段时间,计算对函数的调用,并与你的预期进行比较。

现在还可以选择禁用计时器。我怎么能测试呢?

等待时间x是不够的,因为计时器可能会在x + 1处调用。

有更好的方法吗?

1 个答案:

答案 0 :(得分:1)

不要尝试测试您的语言功能。如果js为您提供方法setInterval,那么假设它有效。如果您的代码正确调用setInterval,您应该测试什么。我不太了解js测试,但如果可以,只需模拟它并检查它是否被调用。如果你不能嘲笑它,那么再使用一个间接层。为计时器创建自己的包装器 - 没有任何逻辑,只需传递调用。然后,在测试中,您可以检查是否调用了该包装器。我会避免在测试中使用等待/睡眠