我目前正在学习如何实现junit测试,而我正在用isempty((方法来努力进行堆栈实现。这是我要测试的方法:
boolean isEmpty(){
if(firstFree == 0) return true;
else return false;
}
这是我的测试:
public void isEmptyTest(){
assertTrue(onpStack.isEmpty());
assertFalse(onpStack.isEmpty());
}
堆栈是否有元素没有区别 - 测试总是失败。我知道原因:因为它在同一时间没有元素。在两种情况下,我都不知道如何进行测试。有适当的方法吗?还是我应该为此进行两个不同的测试((方法?
单元测试,因为该名称建议测试代码的测试部分。堆栈不能同时为空,也不是空的。如很少的建议,请按以下方式将您的测试用例分开
public void isEmptyTest(){
Stack emptyStack = new Stack();
assertFalse(emptyStack.isEmpty());
}
public void isEmptyTest(){
Stack nonEmptyStack = new Stack();
nonEmptyStack.push(1);
assertFalse(nonEmptyStack.isEmpty());
}
我还建议您使用短手for isempty((方法使代码清洁器和更易于理解
boolean isEmpty(){
return (firstFree == 0);
}
希望有帮助!
-
对于第一种情况,请使用空堆栈对象测试ISEMPTY((方法返回true。
-
对于第二种情况,请使用非空堆栈对象测试ISEMPTY((方法返回false。