diff --git a/pubspec.yaml b/pubspec.yaml
index 8c4f922..b7c8aac 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -8,7 +8,7 @@
   sdk: '>=2.7.0 <3.0.0'
 
 dependencies:
-  analyzer: ^0.39.11
+  analyzer: ^0.39.15
   build: ^1.3.0
   code_builder: ^3.4.0
   collection: ^1.1.0
diff --git a/test/all.dart b/test/all.dart
index 0aa5635..5fcc7b4 100644
--- a/test/all.dart
+++ b/test/all.dart
@@ -15,7 +15,8 @@
 // This file explicitly does _not_ end in `_test.dart`, so that it is not picked
 // up by `pub run test`. It is here for coveralls.
 
-import 'builder_test.dart' as builder_test;
+import 'builder/auto_mocks_test.dart' as builder_auto_mocks_test;
+import 'builder/custom_mocks_test.dart' as builder_custom_mocks_test;
 import 'capture_test.dart' as capture_test;
 import 'invocation_matcher_test.dart' as invocation_matcher_test;
 import 'mockito_test.dart' as mockito_test;
@@ -23,7 +24,8 @@
 import 'verify_test.dart' as verify_test;
 
 void main() {
-  builder_test.main();
+  builder_auto_mocks_test.main();
+  builder_custom_mocks_test.main();
   capture_test.main();
   invocation_matcher_test.main();
   mockito_test.main();
diff --git a/test/builder/auto_mocks_test.dart b/test/builder/auto_mocks_test.dart
index 0a6d762..bfcde9f 100644
--- a/test/builder/auto_mocks_test.dart
+++ b/test/builder/auto_mocks_test.dart
@@ -2045,7 +2045,7 @@
   var packageConfig = PackageConfig([
     Package('foo', Uri.file('/foo/'),
         packageUriRoot: Uri.file('/foo/lib/'),
-        languageVersion: LanguageVersion(2, 9))
+        languageVersion: LanguageVersion(2, 10))
   ]);
   await withEnabledExperiments(
     () async => await testBuilder(buildMocks(BuilderOptions({})), sourceAssets,
@@ -2063,7 +2063,7 @@
   var packageConfig = PackageConfig([
     Package('foo', Uri.file('/foo/'),
         packageUriRoot: Uri.file('/foo/lib/'),
-        languageVersion: LanguageVersion(2, 9))
+        languageVersion: LanguageVersion(2, 10))
   ]);
 
   await withEnabledExperiments(
@@ -2091,7 +2091,7 @@
   var packageConfig = PackageConfig([
     Package('foo', Uri.file('/foo/'),
         packageUriRoot: Uri.file('/foo/lib/'),
-        languageVersion: LanguageVersion(2, 9))
+        languageVersion: LanguageVersion(2, 10))
   ]);
 
   expect(
diff --git a/test/builder/custom_mocks_test.dart b/test/builder/custom_mocks_test.dart
index a7efc79..01b7c2e 100644
--- a/test/builder/custom_mocks_test.dart
+++ b/test/builder/custom_mocks_test.dart
@@ -482,7 +482,7 @@
   var packageConfig = PackageConfig([
     Package('foo', Uri.file('/foo/'),
         packageUriRoot: Uri.file('/foo/lib/'),
-        languageVersion: LanguageVersion(2, 9))
+        languageVersion: LanguageVersion(2, 10))
   ]);
   await withEnabledExperiments(
     () async => await testBuilder(buildMocks(BuilderOptions({})), sourceAssets,
@@ -500,7 +500,7 @@
   var packageConfig = PackageConfig([
     Package('foo', Uri.file('/foo/'),
         packageUriRoot: Uri.file('/foo/lib/'),
-        languageVersion: LanguageVersion(2, 9))
+        languageVersion: LanguageVersion(2, 10))
   ]);
 
   await withEnabledExperiments(
