Another attempt to make the test work cross platform
diff --git a/pkgs/watcher/test/custom_watcher_factory_test.dart b/pkgs/watcher/test/custom_watcher_factory_test.dart
index 6d9ed40..964a49d 100644
--- a/pkgs/watcher/test/custom_watcher_factory_test.dart
+++ b/pkgs/watcher/test/custom_watcher_factory_test.dart
@@ -3,6 +3,8 @@
 import 'package:test/test.dart';
 import 'package:watcher/watcher.dart';
 
+import 'utils.dart';
+
 void main() {
   _MemFs memFs;
   final defaultFactoryId = 'MemFs';
@@ -45,16 +47,18 @@
   test('unregister works', () async {
     unregisterCustomWatcherFactory(defaultFactoryId);
 
-    var events = <WatchEvent>[];
-    var watcher = FileWatcher('file.txt');
-    watcher.events.listen((e) => events.add(e));
-    await watcher.ready;
-    memFs.add('a.txt');
-    memFs.add('b.txt');
-    memFs.add('c.txt');
-    await Future.delayed(Duration(seconds: 1));
+    watcherFactory = (path) => FileWatcher(path);
+    try {
+      // This uses standard files, so it wouldn't trigger an event in
+      // _MemFsWatcher.
+      writeFile('file.txt');
+      await startWatcher(path: 'file.txt');
+      deleteFile('file.txt');
+    } finally {
+      watcherFactory = null;
+    }
 
-    expect(events, isEmpty);
+    await expectRemoveEvent('file.txt');
   });
 
   test('registering twice throws', () async {