java - isEmpty() 堆栈方法的 JUnit 测试

标签 java junit

我目前正在学习如何实现 JUnit 测试,并且正在为我的 Stack 实现努力使用 isEmpty() 方法。这是我要测试的方法:

boolean isEmpty(){
    if(firstFree == 0) return true;
    else return false;
}

这是我的测试:

public void isEmptyTest(){
    assertTrue(onpStack.isEmpty());
    assertFalse(onpStack.isEmpty());
}

堆栈是否有元素没有区别——测试总是失败。我知道为什么:因为它不能同时拥有和不拥有元素。在这两种情况下,我都不知道如何通过测试。有正确的方法吗?或者我应该为这个 isEmpty() 方法做两个不同的测试吗?

最佳答案

顾名思义,单元测试是为了测试代码的测试部分。堆栈不能同时为空和不为空。根据一些建议,请按如下方式分离出您的测试用例

public void isEmptyTest(){
  Stack emptyStack = new Stack();
  assertFalse(emptyStack.isEmpty());
}

public void isEmptyTest(){
  Stack nonEmptyStack = new Stack();
  nonEmptyStack.push(1);
  assertFalse(nonEmptyStack.isEmpty());
}

我还建议对您的 isEmpty() 方法使用简写形式,以使代码更清晰、更易于理解

boolean isEmpty(){
   return (firstFree == 0);
}

希望对您有所帮助!

关于java - isEmpty() 堆栈方法的 JUnit 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44283944/

相关文章:

java - 如何使用 Spring Boot 测试 Maven 模块项目

java - 同一 JUnit 测试中的 assertTrue 和 assertFalse

java - 回溯没有可变成员的树

java - 如何使用 Memcached 配置 Spring Boot

java - 如何将数据传输到串口?

java - BottomNavigationView选中item时如何去掉title?//Android

java - junit 主要方法测试失败

java - 单元测试架构问题

java - Eclipse Junit '-ea' 虚拟机选项

java - 轴突测试 : Missing Context