如何从 firebase_auth 测试“signInWithEmailAndPassword”
Posted
技术标签:
【中文标题】如何从 firebase_auth 测试“signInWithEmailAndPassword”【英文标题】:How to test "signInWithEmailAndPassword" from firebase_auth 【发布时间】:2019-06-29 00:58:32 【问题描述】:我正在尝试在我的 Flutter 应用中编写一些单元测试。我正在使用 firebase,我编写了这个函数(我想测试):
import 'dart:core';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:firebase_database/firebase_database.dart';
class FirebaseUtils
static final FirebaseAuth _auth = FirebaseAuth.instance;
static Exception _exception;
static Future<bool> signIn(String email, String password) async
FirebaseUser user;
try
user = await _auth.signInWithEmailAndPassword(email: email, password: password);
catch (ex)
print(ex);
_exception = ex;
user = null;
return user!=null;
我的测试:
import "package:test/test.dart";
import 'package:toolpad/utils/firebase/firebase_utils.dart';
import 'dart:async';
void main()
test("Sign In user from firebase (working)", () async
bool result = await FirebaseUtils.signIn("test@gmail.com", "lollollol");
expect(result, equals(true));
);
当我启动抛出异常的测试时:
MissingPluginException(No implementation found for method signInWithEmailAndPassword on channel plugins.flutter.io/firebase_auth)
ERROR: Expected: <true>
Actual: <false>
我不知道如何解决它,有人有想法吗?
【问题讨论】:
【参考方案1】:经过大量搜索,似乎之前没有指定 Firebase.initialize 是不可能的。
所以如果你想测试一些链接到 Firebase 的函数,你应该使用testWidget
。这将测试您的应用,而不仅仅是功能)
【讨论】:
以上是关于如何从 firebase_auth 测试“signInWithEmailAndPassword”的主要内容,如果未能解决你的问题,请参考以下文章
如何修复 Xcode 中找不到的“firebase_auth/FirebaseAuthPlugin.h”文件?
如何使用 firebase_auth 和 provider 检测身份验证更改
在 Flutter 中使用 Google 登录的错误 403 受限客户端