Java 需要JUnit测试帮助重新配置逻辑

Java 需要JUnit测试帮助重新配置逻辑,java,testing,junit,Java,Testing,Junit,我正试图为下面的代码制定一个JUnit测试,我希望有人能为我指明正确的方向,因为我完全被难住了 public ArrayList<PathData> tileClicked(Coordinate tile){ ArrayList<PathData> pathData = new ArrayList<>(); Tile clickedTile = gameBoard.getTile(tile); int totalNumPlayers =

我正试图为下面的代码制定一个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;

}

这是一个相当宽泛的问题,因此您只能得到一些宽泛的提示,不打算为您编写代码!:

你必须了解A方法B的参数是什么,结果是什么。您的方法可能具有的可观察效果 从此处开始:提供单个平铺参数;根据对象的实际状态,测试中的方法使用不同的路径
这意味着:对于通过方法的每个可能路径,您希望至少有一个测试方法。该测试方法调用被测试的方法,其参数设计为采用特定路径。您调用被测试的方法;然后检查返回的结果是否符合您的期望。

您遇到了什么难题?你的问题太宽泛了。你预计会发生什么?如果传入的平铺引用为null怎么办?该怎么办?我看到太多的TODO注释表明您甚至不了解自己的方法,更不用说测试了。请明确要求您需要声明什么以及需要测试什么功能等等。您需要测试此方法吗?请参阅: