【发布时间】:2017-05-02 13:13:53
【问题描述】:
我正在尝试为以下代码制定一个 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;
}
【问题讨论】:
-
你难倒了什么?你的问题太笼统了。你期望会发生什么?如果传入的磁贴引用为空怎么办?应该发生什么?我看到太多 TODO cmets 表明您甚至不了解您的方法,更不用说测试了。
-
请明确要求你需要断言什么,你需要测试什么功能等等。这个方法你需要测试吗?