如何 运行 测试依赖于插件的代码?

How to run tests with code that depends on plugins?

我想通过直接访问 Firebase 来测试我的 Firebase 数据访问层。 flutter drive 是 运行 此类测试的唯一方法,还是有其他方法,例如 运行ning 在模拟器中使用 flutter test? 有哪些可能的方法以及如何设置它们?

我目前不知道有什么方法可以与 flutter test 的真实数据库对话,因为没有 Firebase SDK 可以与网络对话。无论如何,您可能不希望这样做,因为如果数据更改或无法访问 Firebase 服务器,它可能会使您的测试不确定或不稳定。

一些插件,如 shared_preferences,有一个 API 用于提供模拟值。您可以为 firebase_database 插件做类似的事情,作为对第一方 repo 的拉取请求或通过在测试代码中调用 MethodChannel.setMockMethodCallHandlerBinaryMessages.handlePlatformMessage 来模拟本机端的内容会做的。