因此,我正在尝试编写 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"));
}
添加回答
举报
0/150
提交
取消