Использование локального JSON для макета Firebase для тестирования?

Я думаю о стратегии тестирования приложения, которое использует Firebase для своего хранилища данных. Хотя сквозные тесты подходят для выполнения запросов к текущему бэкэнду, было бы неплохо иметь возможность выполнять модульные тесты логики приложения, которые не должны выходить в Firebase.

Я искал в Интернете способ использовать что-то вроде локального файла JSON для издевательства над службой javascript Firebase, но ничего не нашел. Существует ли что-то подобное? Если нет, я напишу это и выложу на github...

1 ответ

Решение

Обновить

Посмотрите эту суть и этот пост для детального исследования инкапсулированного TDD по сравнению с использованием макетов для модульного тестирования.

Оригинальный пост

Было бы очень трудно правильно издеваться над сервисом Firebase, так как это было бы издеваться над самыми сложными хранилищами данных. Думайте об этом с точки зрения насмешки над MySQL или насмешки над MongoDB.

Предполагая, что ваша цель - заставить локальную среду работать автономно, быстрым решением может быть использование локального экземпляра. Вы можете получить firebase-debug.js, сохранить его локально и вызвать set(/* data */), чтобы инициализировать его для автономных операций.

В противном случае, ваш лучший подход - инкапсулировать всю активность Firebase в один класс или библиотеку. Тогда вы можете высмеивать эту библиотеку, а не события Firebase. И для квази-модульного тестирования (технически это не модульные тесты, поскольку они зависят от внешней службы) самой библиотеки, откройте локальный автономный экземпляр Firebase или настройте базу данных dev и скопируйте ваши производственные данные (или некоторые начальные данные) там.

Другие вопросы по тегам