2016-12-14 32 views
0

我有这样的代码在Java中:测试使用JUnit中的keyPressed

public class KeyboardListener implements KeyListener 
    { 
     public void keyPressed(final KeyEvent the_event) { 
      final int key = the_event.getKeyCode(); 

      if (key == KeyEvent.VK_UP && game.my_snake_direction != 40) 
      { 
       game.my_snake_direction = key; 
       game.moveSnake(KeyDirections.UP.getDirection()); 
      } 
     // ... 

而且我想测试键击,但我不知道如何创建测试代码的事件或组件。在我的代码中,我没有任何组件。我应该在测试代码中创建一个组件吗?

@Test 
    public void KeyPressTest() { 

    KeyboardListener KL = new KeyboardListener(); 
    KeyEvent the_event; //=new KeyEvent(..fail component..); 
    KL.KeyPressed(the_event); //here the_event isn't init 

PS:对不起,我的英语。

谢谢

回答

0

参考类Robot

添加到您的函数:

Robot robot = new Robot(); 
robot.keyPress(KeyEvent.VK_WHATEVER);