gpt4 book ai didi

dart - Flutter Firebase 函数的单元测试

转载 作者:行者123 更新时间:2023-12-04 03:14:17 24 4
gpt4 key购买 nike

美好的一天,我正在尝试对以下在 Cloud Firestore 中创建文档的函数执行一些单元测试。我在我的应用程序中使用了一个函数,它创建了一个文档,但我想编写一个 test.dart 文件,该文件对以下函数执行单元测试,甚至在控制台上打印一些输出以进行验证。

我想我没有以正确的方式编写我的 Test.dart。我收到一个错误。

文件 createdatabase.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;
};

测试.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(在 channel plugins.flutter.io/cloud_firestore 上找不到方法 Firestore#runTransaction 的实现)

但我不明白为什么,因为我拥有所有依赖项,如果我在另一个类中调用该函数,则会创建文档。但是在此测试中调用会出现上述错误。我想我没有以正确的方式做这件事。

我可以查看的任何贡献或任何引用资料都可以帮助测试此类功能?

最佳答案

提交这个问题已经有一段时间了,但只是为了不让它没有答复。

当我偶然发现同样的错误时,我发现了这个有用的问题:https://github.com/flutter/flutter/issues/13971

基本上重新安装所有软件包:

flutter clean
flutter packages get

希望能帮助到你。

关于dart - Flutter Firebase 函数的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53225813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com