https://github.com/Spheniscine/dimsum-leadmanagement
В настоящее время я новичок в разработке для Android.
Это приложение для Android, над которым я сейчас работаю, заметки о его текущем рабочем состоянии есть в описании. В настоящее время я пытаюсь научиться писать более надежный код, используя MVVM (Model-View-View Model) для тестируемой архитектуры, и должен был изучить шаблоны TDD (разработка через тестирование), но я, похоже, столкнулся с проблемой к написанию реальных тестов.
Есть ряд инструментальных тестов, которые уже здесь тестируют простейшие навигационные материалы, но у меня возникают проблемы с поиском лучшего способа написания тестов для таких вещей, как, например, появляется ли продавец в списке или работает добавление продавца, без ссылка на действительную базу данных на телефоне или влияние на нее. Я также изо всех сил пытаюсь написать модульные тесты для бэкэнда (SalespersonMngViewModel и DimsumRepository)
Из того, что я могу почерпнуть, мне нужно использовать что-то под названием Dagger, чтобы вводить фиктивную базу данных или репозиторий по мере необходимости ... Как свидетельствует папка "di", мне удалось использовать его, чтобы сделать репозиторий инъекционным, однако У меня проблемы с выяснением, как на самом деле использовать его для тестирования. Кроме того, у меня возникают проблемы с выяснением, как расширить этот шаблон для внедрения ViewModel. Из учебников и информации, которую я искал, кажется, что требуется что-то, называемое ViewModelFactory, что, опять же, затрудняет понимание того, как реализовать.
Проблема в том, что учебники, которые я нашел, либо говорили о целой куче других зависимостей (например, Retrofit, RxJava, Glide), о которых я еще не успел узнать, либо отсутствовали ключевые функции или варианты использования, которые я необходимо (например, было учебное пособие по MVVM, которому я следовал, которое не проходило тестирование, а затем было учебное пособие по тестированию, в котором использовался MVVM, но без базы данных Room или внедрения зависимостей)