4

我正在向我的应用程序添加集成测试(使用 integration_test 包),但我遇到了问题。

让我解释。我的应用启动的第一步是身份验证,我有 3 个选项:firebase 电子邮件链接、firebase google 登录和 firebase facebook 登录。

阻碍我的是,所有这些登录方法都需要在主应用程序 dart 代码之外执行操作,因此颤振驱动程序无法访问。

我在这里错过了什么吗?如果不是,应该如何处理这种情况?

干杯!

4

2 回答 2

0

为了使测试不那么不稳定,我建议不要依赖互联网连接或第三方(如 Firebase 或 Google 登录)。

我建议为此使用 Mock 。因此,当您尝试登录测试时,您会发送虚假响应,这样您就可以继续使用该应用程序。

以下文章解释了如何使用模拟: https ://medium.com/stuart-engineering/mocking-integration-tests-with-flutter-af3b6ba846c7

于 2021-04-07T16:41:11.290 回答
0

您可以添加第四种登录方式 - 使用用户名和密码。Firebase 应该支持这种非常常见的情况,因此您可以在几行代码内完成。

如果您不希望最终用户通过密码登录,您可以简单地在生产构建中禁用此方法,仅在调试构建中启用它。

另一种方法是模拟您的身份验证系统。换句话说,在进行测试时,您有一个名为“假登录”的按钮,您的集成测试驱动程序只需单击该按钮。

于 2021-04-01T09:56:04.163 回答