Sim*_*ran 9 javascript firebase-tools firebase-authentication google-cloud-functions
我正在运行 firebase 模拟器。
我的应用程序可以调用 firebase 云函数,如果允许用户(取决于数据库中的值),该函数可以创建自定义用户声明
我正在尝试调用该函数:
import * as firebase from '@firebase/testing';
import * as fs from 'fs';
const app = firebase.initializeTestApp({
databaseName: 'mydb',
auth: {
uid: 'useruid'
},
});
describe('Firebase Functions', () => {
beforeEach(async () => {
await firebase.loadDatabaseRules({
databaseName: 'mydb',
rules: fs.readFileSync('database.rules.json', 'utf8'),
});
});
afterAll(async () => {
await Promise.all(firebase.apps().map((app) => app.delete()));
});
const cloudfunction = app.functions().httpsCallable('cloudfunction')
it('throws error if user is not authenticated', async () => {
await firebase.assertFail(cloudfunction())
})
});
Run Code Online (Sandbox Code Playgroud)
这是抛出一个错误:
错误:错误:预检响应具有无效的 HTTP 状态代码 404
小智 3
在我看来,您不需要从单元测试中调用 firebase,因为 firebase 是否正常工作与您无关,您需要测试您的业务逻辑,这意味着您将模拟调用的方法firebase 并测试此方法的预期返回值,例如,您可以编写两种情况,即在没有错误的情况下发送通知,第二种情况,如果 firebase 服务返回失败,对于这两种情况,您的代码应该具有适当的行为。测试 firebase 服务将由处理 firebase 的团队完成
归档时间: |
|
查看次数: |
2238 次 |
最近记录: |