2016-09-16 11 views
1

Этот код моего файла JS упоминается ниже:Javascript тест для Keypress события

$('#HeaderLink').keypress(function (e) { 

    var key = e.which; 

    if (key == 13)   
    { 

     TravelRegistration.expandSection(); 
    } 
}); 

Когда я запускаю следующий Javascript Case Test (Qunitjs и Blanket.js), она работает успешно, но его не в состоянии назвать 'expandSection'. Охват кода охватывает только первую строку кода $('#HeaderLink').keypress(function (e) {

Кто-нибудь, пожалуйста, помогите, как написать тестовый пример, чтобы я мог вызвать свою функцию.

Код тестового случая

test("expandSection test", 1, function() { 
    var div = $('<div>').appendTo("body"); 

    $('<a id="HeaderLink" >').appendTo(div); 
    $("#HeaderLink").trigger("keypress" , 13); 
    var result = TravelRegistration.expandSection(); 
    equal(undefined, result, "passed"); 
    $("div").remove(); 
}); 

ответ

0

Вам нужно создать пользовательский JQuery событий для него:

var e = $.Event("keypress", { which: 13 }); 
$("#HeaderLink").trigger(e); 

См jQuery documentation для него.