1

我正在尝试编写一个测试来测试事件后调用的函数,但是我将此函数包装在 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();
    });

我还尝试在测试上方的 before 函数中执行存根,我尝试使用 sinon spy 而不是存根,我也尝试对函数/方法本身进行存根,我已经验证了该函数确实被调用,它正在从触发器接收数据,并且一直按预期进行处理,但是当我检查 a 时,.called它总是返回 false。

我可能只是忽略了一些简单的事情,任何建议或想法都是有帮助的。

4

0 回答 0