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