为什么这个测试没有通过?
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>
我收到此错误:
错误:已触发的预期事件[object Object] #selectLanguage
我以前是否必须设置更改侦听器? (这将如何工作?)
答案 0 :(得分:1)
我不知道为什么你的代码不起作用,但也许你可以试试这个:
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();
});
它将间接测试该事件。