gpt4 book ai didi

javascript - 如何在node.js中使用Sinon/Mocha模拟变量

转载 作者:行者123 更新时间:2023-12-01 02:50:04 25 4
gpt4 key购买 nike

这是我的代码:start_end.js

var glb_obj, test={};
var timer = 10;

test.start_pool = function(cb) {
timer--;
if(timer < 1) {
glb_obj = {"close": true}; // setting object
cb(null, "hello world");
} else {
start_pool(cb);
}
}

test.end_pool = function(){
if(glb_obj && glb_obj.close) {
console.log("closed");
}
}

module.exports = test;

测试用例:

var sinon = require('sinon');
var start_end = require('./start_end');

describe("start_end", function(){
before(function () {
cb_spy = sinon.spy();
});

afterEach(function () {
cb_spy.reset();
});

it("start_pool()", function(done){
// how to make timer variable < 1, so that if(timer < 1) will meet
start_end.start_pool(cb_spy);
sinon.assert.calledWith(cb_spy, null, "hello world");

});
});

如何使用 sinon 更改函数中的变量 timerglb_obj

最佳答案

如果有人仍然想用Sinon进行 stub ,我们可以对测试对象的getters方法和mock get方法进行 stub ,对我来说效果很好

sinon.stub(myObj, 'propertyName').get(() => 'mockedValue');

关于javascript - 如何在node.js中使用Sinon/Mocha模拟变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47029151/

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