Как выполнить модульное тестирование ViewModel, расширяющего AndroidViewModel. Возникли проблемы с приложением в конструAndroid

Форум для тех, кто программирует под Android
Anonymous
Как выполнить модульное тестирование ViewModel, расширяющего AndroidViewModel. Возникли проблемы с приложением в констру

Сообщение Anonymous »

Итак, мне нужно написать модульные тесты и протестировать свои ViewModels.

У меня есть базовая модель ViewModel, и эта BaseViewModel расширяет AndroidViewModel. Причина, по которой я расширяю AndroidViewModel, заключается в том, что я могу использовать контекст для Dagger.

Моя BaseViewModel.

Код: Выделить всё

public class BaseViewModel extends AndroidViewModel {

protected @Inject SharedPreferencesHelper sharedPreferencesHelper;

public BaseViewModel(@NonNull Application application) {
super(application);

//Only inject sharedPreferences since it is used in almost all of the VMs.
((CommissioningApplication) getApplication()).getAppComponent().inject(this);
}


По сути, у меня возникли проблемы с созданием экземпляра моей модели представления в модульных тестах. Я пробовал много вещей, но безуспешно.

Я рассмотрел возможность расширения ViewModel вместо AndroidViewModel и создания Factory, которая будет передавать контекст приложения моим ViewModel. Но в конце концов я столкнусь с одной и той же проблемой всякий раз, когда попытаюсь создать экземпляр своей ViewModel.

Есть ли у кого-нибудь пример, которому я мог бы следовать, как это проверить? Или мне придется проводить инструментальное тестирование вместо модульного тестирования?

Я новичок в тестировании, поэтому, возможно, я что-то делаю неправильно, любая помощь будет полезна.

Спасибо

Подробнее здесь: https://stackoverflow.com/questions/513 ... ues-with-t

Вернуться в «Android»