首页 > 解决方案 > 如何为使用 Firestore 文档快照的模型编写测试

问题描述

目前我正在关注 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);
  });

知道如何测试上述代码吗?

标签: flutterunit-testingdartgoogle-cloud-firestoreflutter-test

解决方案


我找到了一个名为 fake_cloud_firestore 的插件。有了它,我可以用假数据通过测试


推荐阅读