小编use*_*050的帖子

使用Jasmine jQuery测试表单提交处理程序

我有一个表单,其中有一个附加到提交事件的处理程序,如下所示:

$('#myForm').bind('submit', $.proxy(this, 'form_onSubmit'));
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何测试这行代码以确保在提交表单时,它使用正确的事件处理程序.例如,这不起作用,因为页面一直在无限循环中提交自己:

describe('Submitting the form', function() {
    it ('Uses the correct event handler', function() {
        spyOn(myConstructor, 'form_onSubmit');
        $('#myForm').trigger('submit');
        expect(myConstructor.form_onSubmit).toHaveBeenCalled();
    });
});
Run Code Online (Sandbox Code Playgroud)

我也一直试图使用:

expect($('#myForm')).toHandleWith('submit', myConstructor.form_onSubmit);
Run Code Online (Sandbox Code Playgroud)

但是由于我无法在任何地方找到这样的工作示例,我确定我使用它不正确(Jasmine抛出错误"无法读取属性'提交'未定义"其中undefined是this.actual.数据( "事件")).

有人可以帮忙吗?我已经好几个小时了!谢谢.

forms jquery jasmine

5
推荐指数
1
解决办法
4178
查看次数

标签 统计

forms ×1

jasmine ×1

jquery ×1