为了账号安全,请及时绑定邮箱和手机立即绑定

递归 JUnit 测试

递归 JUnit 测试

炎炎设计 2021-05-31 17:16:22
因此,我正在尝试编写 3 个测试用例来查找我编写的递归方法是否正确。我对 JUnit 不太好,但这就是我到目前为止所得到的。如何证明我的递归方法在 JUnit 中是正确的(如果是)?这是我的班级:public class Rhino {    private String co; //The country in which this Rhino was born. Not null    private Rhino parent; //null if this Rhino has no known parent    /** Constructor : an instance born in country c with parent p.     * Precondition : c is not null . */    public Rhino(String c, Rhino p) {        co = c;        parent = p;    }    /** Return the number of Rhinos in this Rhino 's family that    were     * born in country c. This Rhino 's family consists of this    Rhino , its     * parent , its parent 's parent , its parent 's parent 's parent ,    etc . */    public int numCountry(String c) {        if (parent == null){return co.equals(c) ? 1:0;}        return(co.equals(c) ? 1:0) + parent.numCountry(c);    }}到目前为止,这是我的 JUnit 测试:import static org.junit.Assert.assertEquals;import static org.junit.jupiter.api.Assertions.*;import org.junit.jupiter.api.Test;class RhinoTest {    @Test    public void testCountry() {        Rhino testCP = new Rhino("USA", null);        assertEquals("USA", testCP.numCountry(""));        assertNotEquals(testCP, null);    }}
查看完整描述

1 回答

?
冉冉说

TA贡献1877条经验 获得超1个赞

试试这个基本测试,让你开始:


public void testCountry() {


    Rhino rA = new Rhino("USA", null);

    Rhino rB = new Rhino("USA", rA);

    Rhino rC = new Rhino("CANADA", rB);

    Rhino rD = new Rhino("USA", rC);


    int expectedResult = 3;

    assertEquals(expectedResult, rD.numCountry("USA"));

}



查看完整回答
反对 回复 2021-06-02
  • 1 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信