我正在尝试编写一个测试函数,该函数将测试在事件之后调用的函数,但我将此函数包装在jquery代理中,并且它似乎正在抛弃我的sinon间谍。
jquery看起来像这样:
this.$modalcontent.on('change', '.js-qty-to-return', $.proxy(this.qtyChanged, this))
我的测试看起来像这样:
it('should trigger qtyChange function', function(done) {
var proxy = sinon.stub(jQuery, 'proxy');
$('.js-qty-to-return').trigger('change');
expect(proxy.calledWith(this.OrderHistoryTable.qtyChanged, this.OrderHistoryTable)).to.be.ok;
proxy.restore();
done();
});
我也试过在测试之前的函数中执行存根,我尝试过使用sinon spy而不是stub,我已经尝试过对函数/方法本身进行存根,我已经验证了函数是实际上实际上是调用它,它是从触发器接收数据,它正在按预期一直处理,但当我检查.called
时,它总是返回false。
我可以忽略一些简单的事情,任何建议或想法都会有所帮助。