gpt4 book ai didi

javascript - 如何在测试函数中对外部模块进行 sinon stub 调用

转载 作者:行者123 更新时间:2023-11-30 16:10:42 24 4
gpt4 key购买 nike

我正在测试一个功能。该函数调用了一个外部模块,导致我的测试失败:

element.funcCall();

函数看起来像这样:

function funcCall() {
external.a.b.c.doSomething();
}

它失败了:undefined 不是一个对象(评估'external.a.b.c.doSomething')

我怎样才能 stub 或伪造这个,这样调用就不会真正进行。我不需要它的功能来进行此测试。

最佳答案

这是我做这种事情的方法:

var element  = require('element'),
external = require('external'),
sinon = require('sinon'),
expect = require('chai').expect;

describe('element.funcCall()', function() {

before(function() {
this.doSomethingStub = sinon.stub(external.a.b.c, 'doSomething');
});

it('should do something external', function() {
element.funcCall();
expect(this.doSomethingStub.called).to.be.true;
});

after(function() {
this.doSomethingStub.restore();
});

});

关于javascript - 如何在测试函数中对外部模块进行 sinon stub 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36296699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com