测试一个方法,该方法需要使用Java中同类的其他方法



这是数据结构的一部分:

public class SLList {
public class IntNode {
public int item;
public IntNode next;
public IntNode(int item, IntNode next){
this.item = item;
this.next = next;
}
}
private IntNode first;
public SLList(int x){
this.first = new IntNode(x, null);
}
public void addFirst(int n){
first = new IntNode(n, first);
}
public int getFirst(){
return first.item;
}
}

现在,我需要测试两个方法addFirst()和getFirst()。我将代码写为:

public class SLListTest {
@Test
public void addFirst() {
SLList s = new SLList(10);
s.addFirst(5);
Assert.assertEquals(5, s.getFirst());
}
@Test
public void getFirst() {
SLList s = new SLList(10);
s.addFirst(5);
Assert.assertEquals(5, s.getFirst());
}
}

现在,我在这里看到了一个问题,测试中对其他函数的调用。例如,对addFirst()的测试取决于getFirst()是否正确,getFirst()也是类似的事情。我如何编写测试来解决这个问题?例如,如果我的两个方法都是错误的,但由于依赖,测试用例通过了怎么办?

这很容易解决。

重命名您的测试(例如添加测试前缀-testAddFirst())

致以最诚挚的问候,

最新更新