Нужна помощь в обучении написанию тестов для этого приложения для Android (Kotlin, MVVM, Room, Dagger2) - PullRequest
0 голосов
/ 16 ноября 2018

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 или внедрения зависимостей)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...