首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Sinon.mock重写函数?

用Sinon.mock重写函数?
EN

Stack Overflow用户
提问于 2015-06-10 04:33:25
回答 1查看 13.6K关注 0票数 5

文件上说

变量期望=mock.expects(“方法”);使用模拟函数重写obj.method并返回它。见下文的期望。

它的语法是什么?

我试过了

代码语言:javascript
运行
复制
var mock = sandbox.mock(myObj).expects(myObj, "myfunc", function(){
                console.log('please!!!')
            }).once();

代码语言:javascript
运行
复制
    var mock = sandbox.mock(myObj).expects("myfunc", function(){
                console.log('please!!!')
            }).once();

但两者都不起作用。

EN

回答 1

Stack Overflow用户

发布于 2015-06-17 19:58:38

吹毛求疵:您将变量命名为mock,但expects()返回一个期望。

无论如何,Sinon文献mock()接受一个参数并返回一个模拟对象。expects()返回一个期望,这既是一个间谍,也是一个存根,所以您可以这样做:

var mock = sinon.mock(myObj).expects('myfunc').returns('something');

如果您想用自定义函数替换myObj.myfunc,可以使用存根,可能如下所示:

代码语言:javascript
运行
复制
var stub = sinon.stub(myObj, 'myfunc', function() {
    console.log('something');
});
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30747165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档