Это понятный случай для насмешливых рамок. Я рекомендую jMockit, так как он наиболее продвинутый и подходит для использования против заглушенных библиотек Android. Поскольку вы не любите тестировать классы, предоставляемые самим android (вы косвенно полагаете, что они поступают правильно), вам нужно только протестировать это:
- в вашем хранилище запросили список значений
- этот список значений использовался для создания адаптера
- этот адаптер был передан в список
Тестовый пример будет выглядеть так:
@Test
public void testThatListInitializedProperly(@Mocked final ListView listView,
@Mocked final YourRepository repository,
@Mocked(methods = {"initListView"}, inverse=true) final YourActivity activity,
@Mocked final Adapter adapter
) {
new Expectations() {
{
repository.findAll(); returns(someList);
new Adapter(activity, someList); returns(adapter);
listView.setAdapter(adapter);
}
};
activity.initListView(listView);
}
(обратите внимание, что я настроил интерфейс для облегчения насмешки)