Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 子列表测试用例_Java_Testing_Junit_Sublist - Fatal编程技术网

Java 子列表测试用例

Java 子列表测试用例,java,testing,junit,sublist,Java,Testing,Junit,Sublist,子列表(Java.util.List)本机实现的Im测试方法。Im使用Java8API文档。对于toArray()方法,我只有3个测试。你能帮我想出更多的测试用例吗?谢谢 @Test public void toArrayBasicSub() { fillList(); List<String> expectedList = Arrays.asList("1","2","3","4","5"); String[] expected = {"1","2","3"

子列表(Java.util.List)本机实现的Im测试方法。Im使用Java8API文档。对于toArray()方法,我只有3个测试。你能帮我想出更多的测试用例吗?谢谢

@Test
public void toArrayBasicSub() {
    fillList();
    List<String> expectedList = Arrays.asList("1","2","3","4","5");
    String[] expected = {"1","2","3","4","5"};
    List<String> sub = list.subList(0, 5);
    Object[] actual = sub.toArray();
    assertEquals(expectedList,list);
    assertArrayEquals(expected,actual);
}

@Test
public void toArrayEmpty() {
    String[] expected = {};
    List<String> sub = list.subList(0, 0);
    Object[] actual = sub.toArray();
    assertArrayEquals(expected,actual);
}

@Test
public void toArrayNull() {
    fillList();
    List<String> expected = null;
    List<String> sub = list.subList(0, 5);
    sub = null;

    boolean thrownException = false;
    try {
        sub.toArray();
    } catch (NullPointerException e) {
        thrownException = true;
    }
    assertTrue(thrownException);
}
@测试
向Arraybasicsub()公开无效{
填充列表();
List expectedList=Arrays.asList(“1”、“2”、“3”、“4”、“5”);
字符串[]应为{“1”、“2”、“3”、“4”、“5”};
List sub=List.subList(0,5);
Object[]实际值=sub.toArray();
资产质量(预期清单、清单);
资产质量(预期、实际);
}
@试验
公共无效{
字符串[]应为={};
List sub=List.subList(0,0);
Object[]实际值=sub.toArray();
资产质量(预期、实际);
}
@试验
对Arraynull()的公共无效{
填充列表();
列表应为空;
List sub=List.subList(0,5);
sub=null;
布尔thrownException=false;
试一试{
sub.toArray();
}捕获(NullPointerException e){
thrownException=true;
}
资产真实(thrownException);
}

我假设您将List.subList()作为目标仅用于学习目的(因为没有其他好的理由来测试JDK方法!)

所以,你基本上是在寻找反馈。。。所以让我们来帮忙吧

第一件事:明确你正在测试的范围。您说要测试子列表()。如果是这样,那么您的测试应该只与子列表有关

然后,合理测试的数量非常少:

  • 测试调用空列表上的子列表的结果
  • 测试在非空列表上调用子列表的结果(简单情况:子列表中显示一个元素)
  • 测试在非空列表上调用子列表的结果(复杂情况:在子列表中显示多个元素)
  • 你不需要太多其他东西。具体来说:当您的工作是测试子列表()调用时;那么您就不需要为toArray编写任何测试用例了


    对列表调用subList(),并返回一个列表。这是这里唯一重要的事情。之后,对通过调用subList()创建的列表执行的操作。。。不在测试子列表()的范围内

    为什么要测试JDK的方法?开发团队已经对其进行了测试。您应该测试自己的代码,不要使用try-catch测试异常。使用
    @Test(expected=NullPointerException.class)
    或ExpectedException测试规则。