我正在尝试为下面的代码制定一个JUnit测试,我希望有人能够指出我正确的方向,因为我完全被难倒了!
public ArrayList<PathData> tileClicked(Coordinate tile){
ArrayList<PathData> pathData = new ArrayList<>();
Tile clickedTile = gameBoard.getTile(tile);
int totalNumPlayers = clickedTile.getNumberOfPlayers();
Player cur;
//GuiInstruction guiInstruction = new GuiInstruction();
//guiInstruction
if (clickedTile.hasPort()){
//deal with ports
for(int j = 0; j < totalNumPlayers; j++){
cur = clickedTile.getPlayerIndex(j);
if(cur.equals(currentPlayer)){
pathData = specialCalculateMove(currentPlayer, true);
}
}
} else if (clickedTile.hasPlayer()){
for(int i = 0; i < totalNumPlayers; i++){
cur = clickedTile.getPlayerIndex(i);
if(cur.equals(currentPlayer)){ //TODO: Is this if statement stupid?
pathData = normalCalculateMove(currentPlayer);
}
}
}else{
//TODO: Does this actually do anything?
}
return pathData;
}
答案 0 :(得分:0)
一个非常广泛的问题,因此您只能获得一些广泛的提示(不会为您编写代码!):
这意味着:您希望通过您的方法为每个可能的路径至少拥有一个“测试方法”。该测试方法使用参数 Designed 调用测试中的方法以获取特定路径。你调用测试中的方法;然后检查返回的结果是否符合您的期望。