使用Firebase插件的Flutter Web应用程序中的测试无法正常工作

时间:2019-10-11 10:44:49

标签: 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软件包。但是,当我正常启动应用程序时,一切正常。

您可以帮助我导入此软件包进行测试吗?

1 个答案:

答案 0 :(得分:0)

默认情况下,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