gpt4 book ai didi

javascript - 在 Sinon.js 中创建测试对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:47:14 26 4
gpt4 key购买 nike

我正在尝试使用 Sinon.js 测试代码,但我不熟悉它的行为。

我希望我可以创建一个“假”对象,用 sinon 包装它并将它传递给我正在测试的任何东西,然后让它做它的事情。但是,似乎每次我尝试包装一个 sinon 对象时,函数都不存在:

var event_api = {
startTime: function() {
return '123';
}
}

var stub = sinon.stub(event_api);
console.log(stub.startTime()) // returns undefined
var mock = sinon.mock(event_api);
console.log(mock.startTime()) // returns undefined

我错过了什么?

最佳答案

这取决于你想做什么:

如果您对调用没有任何期望,那么您应该使用 stub ,例如 startTime() 只需返回一个值。

var event_api = {
startTime: sinon.stub().returns('123')
}

console.log(event_api.startTime());

但是如果你想要的是为调用设置一些断言,那么你应该使用模拟。

var event_api = {
startTime: function() {
return '123';
}
}

//code to test
function getStartTime(e) {
return e.startTime();
}

var mock = sinon.mock(event_api);
mock.expects("startTime").once();

getStartTime(event_api);
mock.verify();

希望这对您有所帮助。

关于javascript - 在 Sinon.js 中创建测试对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20986770/

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