如何在茉莉花中模拟按键单元测试

如何在茉莉花中模拟按键单元测试

问题描述:

我需要按下按键时触发的单元测试功能。如何在茉莉花中模拟按键单元测试

public onKeyDown(event: KeyboardEvent): void { 
    if (event.ctrlKey && event.keyCode === 38) { 
     console.log('increase'); 
    } 
    if (event.ctrlKey && event.keyCode === 40) { 
     console.log('decrease'); 
    } 

    /* Prevent entering characters */ 
    if (event.keyCode >= 65 && event.keyCode <= 90) { 
     return; 
    } 
    } 

如何模拟按键来满足第一个条件,例如?

+0

http://stackoverflow.com/questions/961532/firing-a-keyboard-event-in-javascript – Randy

下面的示例代码显示了如何创建,触发和拦截事件。

var keyPressed = null; 

function keyPress(key) { 
    var event = document.createEvent('Event'); 
    event.keyCode = key; 
    event.initEvent('keydown'); 
    document.dispatchEvent(event); 
} 

document.addEventListener('keydown', function(e){ 
    keyPressed = e.keyCode; 
}); 

keyPress(37) 
alert(keyPressed);