diff --git a/packages/flutter_tools/test/channel_test.dart b/packages/flutter_tools/test/channel_test.dart
index 4dadb3d..66893ac 100644
--- a/packages/flutter_tools/test/channel_test.dart
+++ b/packages/flutter_tools/test/channel_test.dart
@@ -51,8 +51,8 @@
       when(process.exitCode).thenAnswer((_) => new Future<int>.value(0));
       when(mockProcessManager.start(
         <String>['git', 'branch', '-r'],
-        workingDirectory: typed(any, named: 'workingDirectory'),
-        environment: typed(any, named: 'environment')))
+        workingDirectory: anyNamed('workingDirectory'),
+        environment: anyNamed('environment')))
       .thenAnswer((_) => new Future<Process>.value(process));
 
       final ChannelCommand command = new ChannelCommand();
@@ -60,8 +60,8 @@
       await runner.run(<String>['channel']);
 
       verify(mockProcessManager.start(<String>['git', 'branch', '-r'],
-          workingDirectory: typed(any, named: 'workingDirectory'),
-          environment: typed(any, named: 'environment'))).called(1);
+          workingDirectory: anyNamed('workingDirectory'),
+          environment: anyNamed('environment'))).called(1);
 
       expect(testLogger.errorText, hasLength(0));
 
@@ -81,4 +81,4 @@
 
 class MockProcessManager extends Mock implements ProcessManager {}
 
-class MockProcess extends Mock implements Process {}
\ No newline at end of file
+class MockProcess extends Mock implements Process {}
diff --git a/packages/flutter_tools/test/ios/cocoapods_test.dart b/packages/flutter_tools/test/ios/cocoapods_test.dart
index 312623c..bdb77b1 100644
--- a/packages/flutter_tools/test/ios/cocoapods_test.dart
+++ b/packages/flutter_tools/test/ios/cocoapods_test.dart
@@ -206,7 +206,7 @@
       verifyNever(mockProcessManager.run(
         argThat(containsAllInOrder(<String>['pod', 'install'])),
         workingDirectory: any,
-        environment: typed<Map<String, String>>(any, named: 'environment'),
+        environment: anyNamed('environment'),
       ));
       expect(testLogger.errorText, contains('not installed'));
       expect(testLogger.errorText, contains('Skipping pod install'));
@@ -228,7 +228,7 @@
         verifyNever(mockProcessManager.run(
           argThat(containsAllInOrder(<String>['pod', 'install'])),
           workingDirectory: any,
-          environment: typed<Map<String, String>>(any, named: 'environment'),
+          environment: anyNamed('environment'),
         ));
       }
     }, overrides: <Type, Generator>{
@@ -439,7 +439,7 @@
       verifyNever(mockProcessManager.run(
         argThat(containsAllInOrder(<String>['pod', 'install'])),
         workingDirectory: any,
-        environment: typed<Map<String, String>>(any, named: 'environment'),
+        environment: anyNamed('environment'),
       ));
     }, overrides: <Type, Generator>{
       FileSystem: () => fs,
