firebase - 测试在带有 Firebase 插件的 Flutter Web 应用程序中不起作用

标签 firebase testing flutter dart flutter-web

我创建了 Flutter Web 应用程序。我正在使用 Firebase 插件。该应用程序在浏览器中运行,但当我尝试运行测试时,出现与 Firebase 插件相关的编译错误。

当我注释掉与 Firebase 插件相关的代码时,测试就通过了。

这是我的 pubspec.yaml:

environment:
  sdk: ">=2.1.0 <3.0.0"

dependencies:
  flutter:
    sdk: flutter
  firebase: 5.0.4
  flutter_bloc: ^0.21.0
  meta: ^1.1.6

dev_dependencies:
  flutter_test:
    sdk: flutter

当我运行测试时,我得到:

Compiler message:
../../../AppData/Roaming/Pub/Cache/hosted/pub.dartlang.org/firebase-5.0.4/lib/src/utils.dart:2:8: Error: Not found: 'dart:html'
import 'dart:html' show promiseToFuture;

所以基本上在运行测试时我没有导入 dart:html 包。但是,当我正常启动应用程序时,一切正常。

你能帮我导入这个包进行测试吗?

最佳答案

默认情况下,pub run test(或单击 IDE 上的“运行测试”按钮)在 Dart VM 上运行测试。但是由于 Firebase 包中的 dart:html 导入,您需要在浏览器上运行测试,而不是 Dart VM。

例如:

pub run test -p chrome path/to/test.dart

如果您所有的测试都在 /test 文件夹中,您可以只说 pub run test -p chrome

在这里阅读更多:https://pub.dev/packages/test#running-tests

关于firebase - 测试在带有 Firebase 插件的 Flutter Web 应用程序中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58339597/

相关文章:

firebase - Firebase 函数的 Sourcemap 支持吗?

java - 无法使用 ValueEventListener 从 Firebase 检索数据

ios - Firebase - 当您不知道父键的值时访问子节​​点 - 由 childByAutoId() 生成

ajax - 为什么在调用方法 jasmine.Ajax.install() 时会出现此错误?

flutter - ListView 仅显示 1 个卡片小部件,但导致下方出现空白

java - Firestore google.cloud.Timestamp 解析

testing - 进行 mvn 安装时模拟测试失败

java - 在 TestNG 中使用带有 DataProvider 的文本文件

image - 如何在 Flutter 中将图像转换为文件?

Flutter web - 上传到服务器时地理定位器不起作用