node.js – Sinon函数存根:如何在模块内调用“自己的”函数

我正在为node.js代码编写一些单元测试,我使用Sinon来存根函数调用

var myFunction = sinon.stub(nodeModule,'myFunction');
myFunction.returns('mock answer');

nodeModule看起来像这样

module.exports = {
  myFunction: myFunction,anotherF: anotherF
}

function myFunction() {

}

function anotherF() {
  myFunction();
}

对于像nodeModule.myFunction()这样的用例,Mocking显然有用,但是我想知道如何在用nodeModule.anotherF()调用时模拟anotherF()中的myFunction()调用

解决方法

你可以稍微重构一下你的模块.喜欢这个.

var service = {
   myFunction: myFunction,anotherFunction: anotherFunction
}

module.expors = service;

function myFunction(){};

function anotherFunction() {
   service.myFunction(); //calls whatever there is right Now
}

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...