0
我有一個簡單的java蛇遊戲。我試圖測試在短時間內按下很多按鍵時會發生什麼情況。 蛇是我的框架和董事會是JPanel發生的一切。如何創建一個運行直到滿足特定條件的JUnit測試?
boolean stop=false;
Snake snake= new Snake();
KeyEvent key_right = new KeyEvent(snake.board, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0, KeyEvent.VK_RIGHT,'Z');
KeyEvent key_up = new KeyEvent(snake.board, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0, KeyEvent.VK_UP,'Z');
KeyEvent key_down = new KeyEvent(snake.board, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0, KeyEvent.VK_DOWN,'Z');
KeyEvent key_left = new KeyEvent(snake.board, KeyEvent.KEY_PRESSED, System.currentTimeMillis(), 0, KeyEvent.VK_LEFT,'Z');
KeyEvent vect[]={key_right,key_down,key_left,key_up};
int i=0,nr=0;
Timer timer = new Timer();
@Test
public void StresTaste() {
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
if(!stop){
snake.board.getKeyListeners()[0].keyPressed(vect[i]);
System.out.println(nr);
i++;nr++;
if(i==3) i=0;
if(nr==200){stop=true;}
}
}
}, 1, 1);
}
我創建了一個keyEvents數組,並使用i變量循環它。我將它們傳遞給JPanel的keyListener。 一切工作正常..但它停止在一百多...每次都不相同的價值。 請幫忙。這甚至有可能實現嗎?
謝謝!完美的解釋。 –