请求复杂的JUnit测试示例

时间:2015-11-10 15:45:21

标签: java android unit-testing junit

我正在尝试为Android项目编写一套JUnit测试。对于我编写的每个类,我都有一个相应的Test,它正在扩展TestCase。在每个TestCase中,我的印象是我应该为被测试的类中的每一个编写一个test()。据说我不知道​​如何处理多种可能输入的测试方法。我想请求一些测试复杂方法的例子,这些方法比通常的教程示例更复杂。

    public void tutorialTestExample() throws Exception {
    final int expected = 1;
    final int actual = 5;
    assertEquals(expected, actual);
}

这是我试图测试的方法。

    public void distributeStones(int stones, int trayIndex) {
    if(stones == 0){
        switchPlayer();
    }
    while (stones > 0) {
        if (trayIndex == 15) {
            trayIndex = 0;
        } else {
            trayIndex++;
            if (board.get(trayIndex).getPlayer() == opponent && board.get(trayIndex).isStore() ) {
                trayIndex = IncrementTrayIndex(trayIndex);
            }
        }
        if (stones == 1 && board.get(trayIndex).getPlayer() == currentPlayer && board.get(trayIndex).isStore()){
            stones--;
            board.get(trayIndex).incrementStones();
            switchPlayer();
        }else if (stones == 1 && board.get(trayIndex).getStones() == 0 && board.get(trayIndex).getPlayer() == currentPlayer && !board.get(trayIndex).isStore()){
            stones--;
            stealStones(trayIndex);
        }else{
            stones--;
            board.get(trayIndex).incrementStones();
        }
    }
}

distributeStones在游戏板周围移动石头,游戏板表示为容器列表(包括商店和托盘)。 你会测试什么? 如何使用断言来测试依赖于输入的几种可能结果?

感谢您的时间, 克里斯

0 个答案:

没有答案
相关问题