在testingnode.js应用程序时,什么是存根function的最佳设置?

我是Node.js的新手,并且一般来说还不熟悉JavaScript中的框架/方法。 到目前为止,我正在考虑发誓 。

具体来说,我想能够存根/模拟我的数据源。 我正在考虑两种情况:

  1. 将整个模块取出
  2. 无论出于何种原因,对整个模块进行存根操作都不起作用。

任何build议或例子,你发现最干净和最简单的方法?

就个人而言,我一直在享用摩卡+柴+诗乃作为我的堆栈。 起初设置起来很头痛(特别是sinon),但是一旦起来,一切都感觉很自然。

Sinon是一个非常强大的库,允许你伪造http请求甚至服务器。 你可以select存根/间谍/和嘲笑。 关于我唯一发现它没有做的是基于dom的事件嘲笑

如果我是你,我会加载这些模块,并与Sinon一起存根/窥探他们的行为。 我知道一些人已经试图加载整个模拟模块,但是我个人认为这对您正在testing的代码来说太侵入了。