[英]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.