繁体   English   中英

如何测试触发事件?

[英]How to test triggered events?

为什么此测试不通过?

beforeEach(function(){
    loadFixtures('addvehicle.html');
});

it ("should trigger change event on #selectLanguage", function(){
    spyOnEvent('#selectLanguage', 'change');
    $('#selectLanguage').trigger('change');
    expect('change').toHaveBeenTriggeredOn('#selectLanguage');
});

我的装置文件如下所示:

<div id="selectTypeWrapper"></div>
<select id="selectLanguage"></select>

我收到此错误:

错误:#selectLanguage已触发预期事件[object Object]

我是否必须设置变更侦听器? (这将如何工作?)

我不知道为什么您的代码不起作用,但是您可以尝试以下方法:

var changeSpy;

beforeEach(function(){
    loadFixtures('addvehicle.html');
    changeSpy = jasmine.createSpy('handleChange() spy');
    $('#selectLanguage').change(changeSpy);
});

it ("should trigger change event on #selectLanguage", function(){
    $('#selectLanguage').change();
    expect(changeSpy).toBeDefined();
    expect(changeSpy).toHaveBeenCalled();
});

它将间接测试事件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM