繁体   English   中英

如何在junit测试中模拟按键?

[英]How can I simulate keypress in junit test?

我的主班Board有这个(扩展了JPanel ):

 public class TAdapter extends KeyAdapter {

   public void keyPressed(KeyEvent e) {

        int key = e.getKeyCode();

        if ((key == KeyEvent.VK_LEFT) && (!right)) {
            left = true;
            up = false;
            down = false;
        }
  }

我试图测试按左键时left是否变为true:

 @Test
 public void testKeyPressed() throws AWTException {
    Board instance = new Board();
    Robot rob = new Robot();
    instance.setFocusable(true);
    instance.requestFocus();
    rob.keyPress(KeyEvent.VK_LEFT);
    System.out.println(instance.up);
}

谢谢!

这是一些可以完成此任务的代码:

KeyEvent key = new KeyEvent(instance, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0,  KeyEvent.VK_UP,'Z');
    instance.getKeyListeners()[0].keyPressed(key);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM