【发布时间】:2016-12-31 19:47:59
【问题描述】:
我正在制作单元测试接口列表。简单的代码但我无法理解,为什么testAdd() 会抛出 UnsupportedOperationException 而testSet() 不会抛出此异常。
public class testList {
private static List<Integer> testList = new ArrayList<>();
public static void main(String[] args) {
init();
testGet();
testSet();
testAdd();
}
private static void init() {
testList = Arrays.asList(0, 1, 2, 3, 1, 2, 5, 4);
}
private static void testGet() {
assertEquals(Integer.valueOf(2), testList.get(2));
}
private static void testSet() {
testList.set(6, 5);
assertEquals(new Integer[]{0, 1, 2, 3, 1, 2, 5, 4}, testList.toArray());
}
private static void testAdd() {
testList.add(0, 1);
assertEquals(new Integer[]{1, 0, 2, 2, 3, 3, 4, 5, 4}, testList.toArray());
}
}
这是来自 AbstractList
【问题讨论】:
-
我只想指出
testAdd无论如何都应该失败 -
@cricket_007 是的,抱歉,这只是总测试的一部分 :)
标签: java list testing collections