微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐