Тесты не работают в веб-приложении Flutter с плагином Firebase - PullRequest
1 голос
/ 11 октября 2019

Я создал веб-приложение Flutter. Я использую плагин 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 голосов
/ 11 октября 2019

По умолчанию pub run test (или нажатие кнопки «Выполнить тесты» в вашей IDE) запускает тесты на виртуальной машине Dart. Но из-за импорта dart:html в пакет Firebase вам необходимо запустить тесты в браузере , а не в Dart VM.

Например:

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

Если все ваши тесты находятся в папке /test, вы можете просто сказать pub run test -p chrome.

Подробнее здесь: https://pub.dev/packages/test#running-tests

...