【发布时间】:2021-10-15 02:12:24
【问题描述】:
我正在尝试设置 Flutter 脚本来测试与我的 Firestore 数据库交互的类。
我目前的挣扎是:
- 看来,为了使用 firebase_auth,我必须有一个小部件树。我对flutter和firebase都很陌生需要小部件树意味着我无法独立于 GUI 测试授权逻辑(例如,如果我在代码中调用 signOut 两次,即使 GUI 逻辑只允许您按一次按钮,会发生什么?)。
- 模拟不足。为了模拟,您需要知道测试具有代表性的预期行为。我花了很多时间尝试解决期货问题、更改登录状态和不正确的数据格式。如果我编写了 mock,它们将无法匹配真实函数的实际行为。
- 模拟对我没有帮助,因为我还在学习数据库的安全规则。我的代码确实适用于宽松的安全规则,但当前的安全规则有问题。
有没有什么方法可以在不模拟的情况下为 firebase_auth 或 firestore 编写单元/集成测试?如果可以的话,我什至很乐意使用本地模拟器/数据库导出。
以下是我查看过的一些不是我想要的文章:
- A month of Flutter: mocking Firebase Auth in tests
- Setup Unit test for Firebase User authentication with Mockito
- How to create integration test for app with Firebase Auth?
- Flutter Testing [4] - Firebase Auth App - Unit Testing
- Mocking In Integration Tests with Flutter
- Writing Unit Tests in Flutter with Firebase Firestore
- Tutorial how to test with firebase #15245
【问题讨论】:
-
到目前为止运气好吗?
标签: firebase flutter unit-testing firebase-authentication flutter-test