簡體   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