Unit Testing On Flutter Firebase functions
up vote
1
down vote
favorite
Good day I am trying to perform sum unit testing on below function that creates a document on cloud firestore firebase. I have used a function in my app and it creates a document, but I want to write a test.dart file that performs unit testing for the below fuction and prints some output even on the console for verifications
But I think I am not writing my Test.dart in proper way.I have get an error
Function in file 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;
};
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);
});
}
The error after running this test is
MissingPluginException(No implementation found for method Firestore#runTransaction on channel plugins.flutter.io/cloud_firestore)
But I do not understand why since I have all the dependencies and if I call that function in another class the doc gets created.But calling inside this test gives the above error. I guess I am not doing it in the right way.Any constribution or any reference I can look at that helps on testing such functions.
Thank you
Regards
dart flutter-test
add a comment |
up vote
1
down vote
favorite
Good day I am trying to perform sum unit testing on below function that creates a document on cloud firestore firebase. I have used a function in my app and it creates a document, but I want to write a test.dart file that performs unit testing for the below fuction and prints some output even on the console for verifications
But I think I am not writing my Test.dart in proper way.I have get an error
Function in file 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;
};
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);
});
}
The error after running this test is
MissingPluginException(No implementation found for method Firestore#runTransaction on channel plugins.flutter.io/cloud_firestore)
But I do not understand why since I have all the dependencies and if I call that function in another class the doc gets created.But calling inside this test gives the above error. I guess I am not doing it in the right way.Any constribution or any reference I can look at that helps on testing such functions.
Thank you
Regards
dart flutter-test
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
Good day I am trying to perform sum unit testing on below function that creates a document on cloud firestore firebase. I have used a function in my app and it creates a document, but I want to write a test.dart file that performs unit testing for the below fuction and prints some output even on the console for verifications
But I think I am not writing my Test.dart in proper way.I have get an error
Function in file 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;
};
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);
});
}
The error after running this test is
MissingPluginException(No implementation found for method Firestore#runTransaction on channel plugins.flutter.io/cloud_firestore)
But I do not understand why since I have all the dependencies and if I call that function in another class the doc gets created.But calling inside this test gives the above error. I guess I am not doing it in the right way.Any constribution or any reference I can look at that helps on testing such functions.
Thank you
Regards
dart flutter-test
Good day I am trying to perform sum unit testing on below function that creates a document on cloud firestore firebase. I have used a function in my app and it creates a document, but I want to write a test.dart file that performs unit testing for the below fuction and prints some output even on the console for verifications
But I think I am not writing my Test.dart in proper way.I have get an error
Function in file 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;
};
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);
});
}
The error after running this test is
MissingPluginException(No implementation found for method Firestore#runTransaction on channel plugins.flutter.io/cloud_firestore)
But I do not understand why since I have all the dependencies and if I call that function in another class the doc gets created.But calling inside this test gives the above error. I guess I am not doing it in the right way.Any constribution or any reference I can look at that helps on testing such functions.
Thank you
Regards
dart flutter-test
dart flutter-test
asked Nov 9 at 12:34
Frank
234
234
add a comment |
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53225813%2funit-testing-on-flutter-firebase-functions%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown