我想在我的蛇遊戲的junit中製作測試用例。 我有一個GAMEOVER方法,我想測試一下:具有圖形參數的方法的Junit測試用例
public void gameOver(Graphics g) {
String msg = "Game Over";
final Font small = new Font("Helvetica", Font.BOLD, 14);
FontMetrics metr = this.getFontMetrics(small);
g.setColor(Color.white);
g.setFont(small);
g.drawString(msg, (WIDTH - metr.stringWidth(msg))/2,
HEIGHT/2);
}
我的主類是董事會和它擴展JPanel。測試:
public void testGameOver() {
System.out.println("gameOver");
Board instance = new Board();
Graphics g = instance.getGraphics();
instance.gameOver(g);
Color tmp = new Color(instance.getBackground().getRGB());
assertEquals(tmp,Color.white.getRGB());
assertEquals(instance.getFont().getFontName(),new Font("Helvetica", Font.BOLD, 14).getFontName());
}
當我嘗試在實例上運行gameOver方法時,我得到一個java.lang.NullPointerException。請幫忙!!我是Junit的新手。
Testcase: testGameOver(snake.BoardTest): Caused an ERROR
null
java.lang.NullPointerException
at snake.Board.gameOver(Board.java:121)
at snake.BoardTest.testGameOver(BoardTest.java:67)
請發佈包含java.lang.NullPointerException的錯誤堆棧跟蹤。 – Scott