ISEMPTY()堆栈方法的Junit测试



我目前正在学习如何实现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);
}

希望有帮助!

  1. 对于第一种情况,请使用空堆栈对象测试ISEMPTY((方法返回true。

  2. 对于第二种情况,请使用非空堆栈对象测试ISEMPTY((方法返回false。

最新更新