JUnit 如何测试自定义 ArrayList 的添加方法?

How to JUnit test an add method for a custom made ArrayList?

我使用可调整大小的数组实现了我的自定义 ArrayList,我想对我的添加方法进行单元测试,以检查是否将正确的值插入到正确的位置。我的添加方法如下所示:

public class MyArrayList<T> implements ArrayListInterface {

private int max=20;
private int index = 0;
private int[] a = new int[max];

@Override
public void add(int value) {
    if(index>max-1) {
        resize();
    }
    a[index] = value;
    index++;


}

我知道,我可以让我的方法成为布尔值并检查方法 returns,但我想检查是否将正确的值添加到正确的位置。我的问题是我的数组是私有的,这样就只能通过 getter 来达到它的值。为我的数组制作一个 getter 并将其与测试的实际结果进行比较是一个好的解决方案,还是测试此方法的最佳解决方案是什么?

我已经检查了同一主题中的其他几个 Whosebug 问题,但找不到解决我的问题的方法。

get()get(position)getLast() 等)方法添加到您的 class 并使用此方法进行测试。单元测试应通过其接口执行 class,而不关心内部实现。将与您的 MyArrayList 互动的任何其他 class 将通过 add()get() 进行互动。