diff --git a/test/pub_cache_test.dart b/test/pub_cache_test.dart
index a15ba4d..a56e2ca 100644
--- a/test/pub_cache_test.dart
+++ b/test/pub_cache_test.dart
@@ -10,21 +10,30 @@
 import 'package:pub_cache/pub_cache.dart';
 import 'package:unittest/unittest.dart';
 
-void main() => defineTests();
+void main() {
+  // We need at least one activated application for our test suite.
+  if (new PubCache().getGlobalApplications().isEmpty) {
+    Process.runSync('pub', ['global', 'activate', 'dart_coveralls']);
+  }
+
+  defineTests();
+}
 
 void defineTests() {
+  final String cacheDirName = Platform.isWindows ? 'Cache' : 'pub-cache';
+
   group('PubCache', () {
     test('getSystemCacheLocation', () {
       Directory cacheDir = PubCache.getSystemCacheLocation();
       expect(cacheDir, isNotNull);
-      expect(path.basename(cacheDir.path), contains('pub-cache'));
+      expect(path.basename(cacheDir.path), contains(cacheDirName));
     });
 
     test('PubCache', () {
       PubCache cache = new PubCache();
       expect(cache, isNotNull);
       expect(cache.location, isNotNull);
-      expect(path.basename(cache.location.path), contains('pub-cache'));
+      expect(path.basename(cache.location.path), contains(cacheDirName));
     });
 
     test('getBinaries', () {
