如何为使用 Firestore 文档快照的模型编写测试
Posted
技术标签:
【中文标题】如何为使用 Firestore 文档快照的模型编写测试【英文标题】:How to write the test for a Model that uses firestore documentsnapshot 【发布时间】:2021-08-17 04:43:33 【问题描述】:目前我正在关注 TDD,但现在我想测试一个基于文档快照发出 UserEntity 的 UserModel 类。这是我要测试的代码。
factory UserModel.fromSnapsot(DocumentSnapshot snapshot)
return UserModel(
email: snapshot.get('email').data(),
username: snapshot.get('username').data(),
uid: snapshot.get('uid').data(),
);
我写了一个测试,但它说失败了
在 null 上调用了“get”方法。接收方:空。尝试调用:get("email")
我写的代码是
group('fromSnapshot', ()
when(UserModel.fromSnapsot(mockDocumentSnapshot))
.thenAnswer((_) => tUserModel);
final result = UserModel.fromSnapsot(mockDocumentSnapshot);
expect(result, tUserModel);
);
知道如何测试上述代码吗?
【问题讨论】:
mockDocumentSnapshot
为空,它必须是有效的快照,而不是空
有没有办法用数据制作自定义快照
我不知道,查看DocumentSnapshot
官方文档
【参考方案1】:
我找到了一个名为 fake_cloud_firestore 的插件。这样我就可以用假数据通过测试了
【讨论】:
以上是关于如何为使用 Firestore 文档快照的模型编写测试的主要内容,如果未能解决你的问题,请参考以下文章
在 Web javascript 中获取云 Firestore 集合的快照大小 [重复]
如何从 Vuex 商店中删除 Firestore 快照侦听器