Flutter 如何为使用firestore documentsnapshot的模型编写测试
目前我正在关注TDD,但现在我陷入了一个困境,我想测试一个UserModel类,它基于documentsnapshot发出一个UserEntity。这是我要测试的代码Flutter 如何为使用firestore documentsnapshot的模型编写测试,flutter,unit-testing,dart,google-cloud-firestore,flutter-test,Flutter,Unit Testing,Dart,Google Cloud Firestore,Flutter Test,目前我正在关注TDD,但现在我陷入了一个困境,我想测试一个UserModel类,它基于documentsnapshot发出一个UserEntity。这是我要测试的代码 factory UserModel.fromSnapsot(DocumentSnapshot snapshot) { return UserModel( email: snapshot.get('email').data(), username: snapshot.get('username')
factory UserModel.fromSnapsot(DocumentSnapshot snapshot) {
return UserModel(
email: snapshot.get('email').data(),
username: snapshot.get('username').data(),
uid: snapshot.get('uid').data(),
);
}
我写了一个测试,但是失败了
对null调用了方法“get”。接收者:空。尝试呼叫:获取(“电子邮件”)
我写的代码是
group('fromSnapshot', () {
when(UserModel.fromSnapsot(mockDocumentSnapshot))
.thenAnswer((_) => tUserModel);
final result = UserModel.fromSnapsot(mockDocumentSnapshot);
expect(result, tUserModel);
});
知道如何测试上述代码吗?我找到了一个名为fake_cloud_firestore的插件。这样,我就可以通过假数据测试了
mockDocumentSnapshot
为空,它必须是有效的快照,而不是空。有没有办法用数据制作自定义快照I dunno,请查看DocumentSnapshot
官方文档