0

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

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

现在还有禁用计时器的选项。我怎么能测试呢?

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

有更好的方法吗?

4

1 回答 1

1

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

于 2013-01-01T14:16:11.467 回答