【问题标题】:Flutter test, integration test for complex appsFlutter 测试,复杂应用的集成测试
【发布时间】:2022-10-31 17:20:24
【问题描述】:

在集成测试中,我执行以下操作?

  1. 是否可以使用具有这种流程的应用程序运行集成测试: 应用程序启动->启动屏幕->带有关闭按钮的广告->放大身份验证登录屏幕->主页->菜单主页按钮->另一个屏幕某某..?

  2. 运行集成测试绕过登录屏幕并仅对应用程序的特定部分进行集成测试

【问题讨论】:

    标签: flutter flutter-test


    【解决方案1】:
    1. 可以,但您必须确保可以存根/模拟所有“外部”组件,即您无法真正控制的组件(例如:外部广告服务器、身份验证服务......) .您需要能够控制这些,以便自己决定哪些可能的场景将发挥作用(例如:广告无法加载、身份验证失败……),并避免在运行时依赖这些外部组件你的测试。您最好的选择是确保您可以将所需服务和小部件的模拟版本注入您的应用程序。起初这可能需要一些重构,但最终它应该会产生干净且更好的可测试代码。
    2. 就个人而言,我使用firebase_auth 进行身份验证。在您的集成测试的setUp 中,您可以“假装”用户已经通过使用MockFirebaseAuth 进行了身份验证(请参阅firebase_auth_mocks)。这个想法与第1点相同; firebase 身份验证服务正在被模拟,并且只会提供您想要的 User 对象的类型,在大多数情况下,这可能是成功通过身份验证的用户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-05
      • 1970-01-01
      • 2022-08-12
      • 2022-11-29
      • 2020-11-05
      • 2021-06-12
      • 1970-01-01
      相关资源
      最近更新 更多