Эмуляторы Firebase предоставляют мощный набор инструментов для локальной разработки и тестирования функций Firebase. Одним из важных аспектов работы с эмуляторами является заполнение данных. В этой статье мы рассмотрим различные методы запуска эмуляторов Firebase с исходными данными, что позволит вам моделировать реальные сценарии и эффективно тестировать свой серверный код.
Метод 1: интерфейс командной строки Firebase и исходные данные Firestore
интерфейс командной строки Firebase предлагает удобный способ запуска эмуляторов с исходными данными. Выполните следующие действия:
Шаг 1. Установите интерфейс командной строки Firebase глобально на свой компьютер, если вы еще этого не сделали.
Шаг 2. Откройте терминал или командную строку и перейдите в каталог проекта.
Шаг 3. Выполните следующую команду. для инициализации эмулятора Firestore:
firebase emulators:start --import=./path/to/seed/data
Замените ./path/to/seed/dataфактическим путем к каталогу исходных данных.
Шаг 4. Эмулятор запустится с исходными данными, готовыми к тестированию.
Метод 2: Firebase Admin SDK и начальные данные базы данных реального времени
Если вы используете базу данных Firebase Realtime, вы можете заполнять данные с помощью Firebase Admin SDK. Вот пример фрагмента кода:
const admin = require('firebase-admin');
const serviceAccount = require('./path/to/serviceAccountKey.json');
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
});
const database = admin.database();
const seedData = require('./path/to/seed/data.json');
// Add seed data to the database
database.ref().set(seedData)
.then(() => {
console.log('Seed data added successfully!');
// Start the emulators
// ...
})
.catch((error) => {
console.error('Error adding seed data:', error);
});
Обязательно замените ./path/to/serviceAccountKey.jsonна путь к файлу ключей вашего сервисного аккаунта и ./path/to/seed/data.jsonна путь к файлу исходных данных.
Метод 3: собственный скрипт и REST API эмулятора Firestore
Если вы предпочитаете более индивидуальный подход, вы можете использовать скрипт для отправки запросов к REST API эмулятора Firestore и начальных данных. Вот пример использования Node.js и axios:
const axios = require('axios');
const seedData = require('./path/to/seed/data.json');
async function seedFirestore() {
try {
await axios.post('http://localhost:8080/emulator/v1/projects/<project-id>/databases/(default)/documents', seedData);
console.log('Seed data added successfully!');
// Start the emulators
// ...
} catch (error) {
console.error('Error adding seed data:', error);
}
}
seedFirestore();
Замените <project-id>на идентификатор вашего проекта Firebase и ./path/to/seed/data.jsonна путь к исходному файлу данных.
Заполнение данных в эмуляторах Firebase имеет решающее значение для реалистичного тестирования и разработки. В этой статье мы рассмотрели три метода: использование интерфейса командной строки Firebase с исходными данными Firestore, использование Firebase Admin SDK с исходными данными базы данных реального времени и отправка запросов к REST API эмулятора Firestore с помощью специального скрипта. Выберите метод, который лучше всего соответствует вашим потребностям, и начните с уверенностью тестировать свой серверный код Firebase!