求助:Flutter中Firebase配置与SNS通知的测试用例编写
Firebase配置与推送通知认证测试用例编写指南
一、基础Firebase配置有效性测试
- 测试初始化成功率:在测试环境中执行
firebase.initializeApp(config),断言无异常抛出,且firebase.app()实例存在 - 验证配置参数准确性:核对
config里的apiKey、authDomain、projectId等核心字段是否与Firebase控制台一致,可通过读取环境变量做对比 - 测试服务连通性:调用轻量API(比如
firebase.firestore().collection('test').get(),需提前创建测试集合),断言请求返回成功状态
二、推送通知(FCM)认证测试用例(针对你之前的失败场景)
1. 服务器端认证测试
- 验证服务账号密钥有效性:加载Firebase服务账号JSON文件,执行
firebase-admin.messaging().send()发送测试消息到指定设备令牌,断言返回成功响应 - 测试权限拦截:用错误的服务账号密钥尝试发送消息,断言返回
permission-denied错误 - 校验令牌合法性:使用无效/过期的设备令牌发送消息,断言返回
invalid-registration-token或registration-token-not-registered错误
2. 客户端认证测试
- 测试设备令牌获取:客户端调用
messaging.getToken(),断言返回非空字符串令牌,且能通过服务器端验证令牌有效性 - 验证令牌刷新逻辑:手动触发令牌刷新(比如卸载重装APP),断言新令牌能正常接收推送,旧令牌无法接收
三、失败场景排查要点
- 确认测试环境隔离:是否用了测试专用Firebase项目,避免生产配置干扰测试
- 核对依赖版本:确保
firebase、firebase-admin版本与官方文档匹配,版本不兼容常导致认证失败 - 检查网络限制:测试环境是否允许访问
fcm.googleapis.com(端口443),网络拦截会直接导致认证失败
内容的提问来源于stack exchange,提问作者Mathi
相关产品推荐
相关产品推荐

