gpt4 book ai didi

javascript - 如何使用 sinon.js 模拟/监视 javascript 函数中提到的对象?

转载 作者:搜寻专家 更新时间:2023-11-01 00:43:18 28 4
gpt4 key购买 nike

如何使用 sinon.js 模拟/监视 javascript 函数中提到的对象?提到的对象也进行方法调用,我需要测试该对象是否调用了该方法。

我们将不胜感激。

提前致谢!

等待任何回复。

var ABCClient = require('ABCClient');
var connect = function(){
var client;
client = new ABCClient(); //instantiating object

client.on('some parameter'); // Test if the `on` event is called.
}

最佳答案

看着你的模拟。一旦您退后一步思考,这就相当简单了。您正在创建一个类的实例。只需这样做:

var ABCClient = require('ABCClient');

describe('test', function() {
it('some test', function() {
var stub = sinon.stub(ABCClient.prototype, 'on').yields('return object');
assert.ok(stub.calledWith('Parameter'));
ABCClient.prototype.on.restore();
});
});

或者,如果您只想监视它而不改变行为,则可以只使用 spy 而不是 stub

在此示例中,您将对 prototype 进行 stub ,这样所有实例都将具有该属性/方法。因此,您将能够访问该对象。试一试,让我知道。

关于javascript - 如何使用 sinon.js 模拟/监视 javascript 函数中提到的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27278655/

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