快速CPU屏蔽测试错误

时间:2014-11-10 17:06:52

标签: node.js mocha cpu-speed

我有一个Node.js应用程序,我正在快速(ish)开发机器上使用Mocha进行测试。我注意到有时快速CPU会掩盖一些错误。如果测试在CPU较慢的机器上运行,则会出现这些错误。

问题:是否有一种简单的方法可以暂时减慢或模拟CPU处理速度减慢以显示这些错误?或者是全速运行这些测试并仍然发现这种类型的错误?

1 个答案:

答案 0 :(得分:1)

这些差异的一个可能原因是某些功能可能需要更长的时间才能运行,具体取决于它们运行的​​机器,例如,如果它涉及大量计算或从数据库读取。这可能会修改调用回调的顺序。

要解决此问题,您可以通过在测试中使用(例如)Sinon.js来更好地控制运行并行操作序列的顺序:它具有很好的间谍/存根功能,还可以船只fake timers

通过模拟(存根)需要时间运行的异步函数,您可以删除速度因子(取决于机器)。此外,假定时器允许控制setTimeoutsetInterval

中包含的函数