我的主干视图的初始化函数之一包含以下代码:
$.when(this.broadcasters.fetch(),
this.model.fetch(), this.call_types.fetch()).done(
function(){
do_important_stuff
});
提取的结果与测试无关,但块中的代码对测试很重要。
我最初的想法是使用jasmine-ajax,但它只支持响应最近的请求,我们实际上有 3 个不同的 AJAX 请求要响应。
我无法真正模拟它们,因为我没有要模拟的对象(因为这是一个初始化函数)。
最后我最终只是手动运行“do_important_stuff”,这似乎并不理想,因为它将代码复制到测试中。
编辑:
根据请求,如何创建视图实例:
var responder = new EmailResponder({model: email, el: some_element, reply: true});