如何防止 sinon 间谍调用被监视的方法

How can I prevent a sinon spy from calling the method being spied on?

本文关键字:监视 方法 调用 何防止 sinon 间谍      更新时间:2023-09-26

我写了一个简单的测试,我用Sinon.js监视$.ajax。但是,我在终端中看到"警告[网络服务器]:404:/people"。为什么它在被监视时调用 $.ajax?

var people = {
    findAll: function() {
        return $.ajax({ url: '/people' })
    }
};
var spy = sinon.spy($, 'ajax');
people.findAll();
$.ajax.restore();

只需改用sinon.stub。存根也可以编程为以特定方式运行。例如,$.ajax.yields('foo')调用给定的回调。