【发布时间】:2015-12-16 09:09:00
【问题描述】:
我想测试传递给函数的参数是函数引用,但函数引用是使用bind() 传递的。
考虑这个要测试的代码(为了简洁而缩短):
initialize: function () {
this.register(this.handler.bind(this));
}
这个单元测试检查register()是否被handler()调用:
it('register handler', function () {
spyOn(bar, 'register');
bar.initialize();
expect(bar.register.calls.argsFor(0)[0]).toEqual(bar.handler);
});
我猜由于使用 bind() 的绑定函数,arg 不等于函数引用 - 如何在仍然使用 bind() 方法的同时测试是否传递了正确的函数引用?
注意:这不是茉莉花特有的,我只是认为它是合适的,因为正在使用的方法。
【问题讨论】:
标签: javascript unit-testing jasmine