Fix test for sync-async semantics (#590)

diff --git a/packages/cloud_firestore/test/cloud_firestore_test.dart b/packages/cloud_firestore/test/cloud_firestore_test.dart
index f28260e..07bba7d 100755
--- a/packages/cloud_firestore/test/cloud_firestore_test.dart
+++ b/packages/cloud_firestore/test/cloud_firestore_test.dart
@@ -42,9 +42,9 @@
         switch (methodCall.method) {
           case 'Query#addSnapshotListener':
             final int handle = mockHandleId++;
-            // Wait for a microtask before sending a message back.
+            // Wait before sending a message back.
             // Otherwise the first request didn't have the time to finish.
-            scheduleMicrotask(() {
+            new Future<void>.delayed(Duration.zero).then<void>((_) {
               BinaryMessages.handlePlatformMessage(
                 Firestore.channel.name,
                 Firestore.channel.codec.encodeMethodCall(
@@ -69,9 +69,9 @@
             return handle;
           case 'Query#addDocumentListener':
             final int handle = mockHandleId++;
-            // Wait for a microtask before sending a message back.
+            // Wait before sending a message back.
             // Otherwise the first request didn't have the time to finish.
-            scheduleMicrotask(() {
+            new Future<void>.delayed(Duration.zero).then<void>((_) {
               BinaryMessages.handlePlatformMessage(
                 Firestore.channel.name,
                 Firestore.channel.codec.encodeMethodCall(