Добрый день, я пытаюсь выполнить какое-то модульное тестирование для следующей функции, которая создает документ в 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)
Но я не понимаю, почему, поскольку у меня есть все зависимости, и если я вызываю эту функцию в другом классе, создается документ. Но вызов внутри этого теста дает вышеуказанную ошибку. Я думаю, что я не делаю это правильно.
Любой вклад или любая ссылка, на которую я могу посмотреть, может помочь в тестировании таких функций?