Как протестировать ArrayAdapter (Java) Android - PullRequest
0 голосов
/ 08 июня 2019

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

Мой фиктивный проект имеет двухстороннюю синхронизацию с удаленным сервером и использует ListView с пользовательским ArrayAdapter

Модульное тестирование классов и методов:легко, но я застрял в тестировании моего arrayadapter - (Unit) Тестирование ArrayAdapter использует устаревший AndroidTestCase и, как я вижу, будет использовать эмулятор.

public class JourneyAdapter extends ArrayAdapter<Journey> {

    private Context aContext;
    private List<Journey> journeyList;

    public JourneyAdapter(Context context, List<Journey> list) {
        super(context, 0, list);
        aContext = context;
        journeyList = list;
    }

    @NonNull
    @Override
    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent){
        View listItem = convertView;

        if (listItem == null) {
            listItem = LayoutInflater.from(aContext).inflate(R.layout.history_list_row, parent, false);
        }

        Journey currentJourney = journeyList.get(position);

        TextView lblDate = listItem.findViewById(R.id.lbl_history_list_row_date);
        lblDate.setText(currentJourney.getStime());

        TextView lblDescription = listItem.findViewById(R.id.lbl_history_list_row_description);
        lblDescription.setText(currentJourney.getDescription());

        TextView lblIid = listItem.findViewById(R.id.lbl_history_list_row_id);
    lblIid.setText(String.valueOf(currentJourney.getIid()));

        return listItem;
    }
}

В качествевыше используется Context Я не могу тестировать с использованием JVM, но Googling предлагает Robolectric, но не могу найти много информации о тестировании массивов с роботом: 4.3 только 3.8.или устаревшие методы и т. д.

Эфир Я слишком конкретен в своих поисках в Google, или нет ничего доступного учебника, который был недавно обновлен.

Любые указатели были бы хороши, или еслиЯ должен изменить свои планы тестирования.

...