2016-03-20 2 views
0

Я внедрил свой собственный ArrayList с помощью изменяемого размера массива, и я бы хотел, чтобы модуль тестировал мой метод добавления, чтобы проверить, вставлено ли правильное значение в правильное положение. Мой метод добавить выглядит следующим образом:Как JUnit проверить метод добавления для пользовательского 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++; 


} 

Я знаю, я мог бы просто сделать мой метод булево и проверить, что метод возвращает, но я хотел бы проверить, что право на добавленную стоимость в нужное положение. Моя проблема в том, что мой массив является приватным, и таким образом можно достичь своей ценности только через геттер. Является ли это хорошим решением для создания геттера для моего массива и сравнить его с фактическим результатом теста или что было бы лучшим решением для тестирования этого метода?

Я проверил пару других вопросов stackoverflow в той же теме, но я не смог найти решение для моей проблемы.

ответ

1

Добавить get() (get(position), getLast() и т. Д.) Метод в ваш класс и протестировать с использованием этого метода. Модульные тесты должны выполнять класс через свои интерфейсы, не заботясь о внутренней реализации. Любой другой класс, который будет взаимодействовать с вашим MyArrayList, сделает это через add() и get().

Смежные вопросы