Есть ли способ локального запуска firestore (например, для тестирования)?
Каким будет подход к написанию тестов против БД (кроме использования mocks)
Есть ли способ локального запуска firestore (например, для тестирования)?
Каким будет подход к написанию тестов против БД (кроме использования mocks)
В настоящее время нет, но следите за обновлениями, как это мы хотим предоставить.
Тем временем мы предлагаем использовать отдельный проект тестирования для покрытия этого. Ежедневный бесплатный уровень для каждого проекта также помогает в этом.
Обновление от ноября 2018 г.: локальная эмуляция, по крайней мере, с целью тестирования правил Firestore, была продемонстрирована на Firebase Summit 2018 с использованием
@firestore/testing
и задокументирована в разделе " Проверка правил безопасности облачного Firestore".
Это выглядит так:
const firebase = require('@firebase/testing')
const app = firebase.initializeTestApp({
projectId: 'my-project',
auth: { uid: '123', email: '[email protected]' }
})
const attempt = app.firestore()
.collection('colId').doc('docId').get()
firebase.assertFails(attempt)
firebase.assertSucceeds(attempt)
Кажется, рано, как это не было отмечено в примечаниях к выпуску, но я уверен, что это произойдет.
для тестирования firestore напишите пример js test.js вы можете протестировать запись с этим примером формата
var data = {
value: {createTime: new Date(),
updateTime: new Date(),
fields:{
name:{stringValue:'new value data'},
age:{integerValue:50}
}
},
oldValue: {createTime: new Date(), //old create time
updateTime: new Date(), //old update time time
fields:{
name:{stringValue:'olvalue data'},
age:{integerValue:50}
}
}
};
testFireStoreEvent(data);
для выполнения выполнить
firebase experimental:functions:shell < test.js
UPDATE!!!! ДЕЙСТВИТЕЛЬНО ДЛЯ НАПРАВЛЕНИЯ И ОБНОВЛЕНИЯ СОБЫТИЙ
var data = {
before: {
//your before data
},
after: {
//your after data
}
};
testFireStoreEvent(data);
Вы можете запустить эмулятор Firestore, выполнив:
gcloud beta emulators firestore start
и затем установите FIRESTORE_EMULATOR_HOST
среды FIRESTORE_EMULATOR_HOST
согласно выводу консоли (например, запустите export FIRESTORE_EMULATOR_HOST=::1:8505
).
Для этого требуется, чтобы Google Cloud SDK и Java 8+ JRE были установлены и в вашей системе PATH.