Javascript 如何在jasmine中模拟单元测试按键

Javascript 如何在jasmine中模拟单元测试按键,javascript,jasmine,karma-jasmine,Javascript,Jasmine,Karma Jasmine,我需要对按键时触发的功能进行单元测试 public onKeyDown(event: KeyboardEvent): void { if (event.ctrlKey && event.keyCode === 38) { console.log('increase'); } if (event.ctrlKey && event.keyCode === 40) { console.log('decrease');

我需要对按键时触发的功能进行单元测试

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;
    }
  }
public onKeyDown(事件:KeyboardEvent):无效{
if(event.ctrlKey&&event.keyCode==38){
控制台日志(“增加”);
}
if(event.ctrlKey&&event.keyCode==40){
控制台日志(“减少”);
}
/*防止输入字符*/

如果(event.keyCode>=65&&event.keyCode,下面的示例代码显示如何创建、触发和拦截事件

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);

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

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);