Модульное тестирование на основе Flutter Firebase - PullRequest
0 голосов
/ 09 ноября 2018

Добрый день, я пытаюсь выполнить какое-то модульное тестирование для следующей функции, которая создает документ в Cloud Firestore. Я использовал функцию в своем приложении, и она создает документ, но я хочу написать файл test.dart, который выполняет модульное тестирование для указанной ниже функции и печатает некоторые результаты даже для проверки на консоли.

Я думаю, что пишу свой Test.dart неправильно. Я получаю ошибку.

Функция в файле createatabase.dart

Future<dynamic> createDoc(dataMap,collection) async {
  final TransactionHandler createTransaction = (Transaction tx) async {
    final DocumentSnapshot ds = await tx.get(db.collection(collection).document());
    final Map<String, dynamic> result = {};
    result.addAll(dataMap);
    result['id'] = ds.documentID;
    await tx.set(ds.reference, result);

    return result;
  };

Test.dart

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:test/test.dart';
import '../lib/service/createfirebase.dart';

void main() {
  CreateFirebase cf = new CreateFirebase();   
   //test    
    test('Creating doc on firestore ', () async{ 
      Object dataObj ={'name':'Dev','title':'Dev'};
      var create = await cf.createDoc(dataObj, 'crude');
      expect(true,create);
      print('The doc details are');
      print(dataObj);
    });

}

Ошибка после запуска этого теста MissingPluginException (реализация не найдена для метода Firestore # runTransaction на канале plugins.flutter.io/cloud_firestore)

Но я не понимаю, почему, поскольку у меня есть все зависимости, и если я вызываю эту функцию в другом классе, создается документ. Но вызов внутри этого теста дает вышеуказанную ошибку. Я думаю, что я не делаю это правильно.

Любой вклад или любая ссылка, на которую я могу посмотреть, может помочь в тестировании таких функций?

...