Как стать автором
Обновить

Комментарии 8

Неудобство флага fake в том, что классы сервисов становятся слишком большими и содержат логику к ним не относящуюся. Более правильно сделать абстрактный класс сервиса и два наследника: реализация сервиса и фейковый. В случае фейк-режима, фабрика будет инжектировать фейк-сервис. Но и это порождает много дополнительного кода, ведь для каждого сервиса, работающего в фейк-режиме, необходимо иметь фабрику для инжектирования, а также базовый абстрактный класс. Поэтому в таком случае, лучше всего использовать HttpInterceptor, выдающий определенные ответы. Тогда и код фейковых запросов будет строго изолирован, и сервисы не потребуют дополнительного кода. Более того, сервисы даже знать не будут, что работают с фейковыми данными
Поддержу предыдущего оратора. Следуя таким принципам я сделал пакет для мокирования запросов ngx-mock-server. Основная идея — подмена данных происходит на уровне интерсепторов, сами моки конфигурируются на уровне модуля (либо модулей, в том числе lazy модулей) подобно конфигурации роутов.
Там это относится к абзацу далее. «Раньше работало, а щас не работает? наверно вы обновились, посмотрите список ломающих изменений».
Но вообще согласен, не слишком удобная вещь, полгода не обновлялась, зато дефолт вроде как.
Вставлю свои пять копеек:

1. Вместо отдельного файла конфигурации лучше конфигурацию хранить в environment файлах. Так мы избежим ситуации, когда в проде приложение будет работать с моками
2. У класса BaseEndpoint слишком много ответственности: он и обрабатывает логику с фейками, и пропихивает ошибки в error сервис. Напрашивается разделение
3. Советую присмотреться к rxjs.
Не проще ли завести карманный json-server (+ faker) и не тащить лишнее во фронтенд? Вся конфигурация будет на уровне npm скрипта и двух разных прокси.
А где тут код читаемый для бэкендера? Ему сваггер нужен.

Есть такая отличная штука https://mimic.js.org/
Добавляется в проект через обычный import в enviroment.ts и дальше прям на странияке вашего проекта в специальном интерфейсе можно перехватывать нужные запросы и мокать их.
Никаких настроек дополнительных не надо.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации