Fix newly enforced package:pedantic lints (#230)

- omit_local_variable_types
- prefer_conditional_assignment
- prefer_if_null_operators
- prefer_single_quotes
- use_function_type_syntax_for_parameters

Also ignore a deprecated import.

Change a check against null to the string "null" to use string
interpolation which already handles `null`.

Remove some inferrable argument types on function literals.
diff --git a/example/example.dart b/example/example.dart
index 9742c3a..3a708b5 100644
--- a/example/example.dart
+++ b/example/example.dart
@@ -5,9 +5,9 @@
 
 // Real class
 class Cat {
-  String sound() => "Meow";
+  String sound() => 'Meow';
   bool eatFood(String food, {bool hungry}) => true;
-  Future<void> chew() async => print("Chewing...");
+  Future<void> chew() async => print('Chewing...');
   int walk(List<String> places) => 7;
   void sleep() {}
   void hunt(String place, String prey) {}
@@ -42,20 +42,20 @@
     verify(cat.sound());
   });
 
-  test("How about some stubbing?", () {
+  test('How about some stubbing?', () {
     // Unstubbed methods return null.
     expect(cat.sound(), null);
 
     // Stub a method before interacting with it.
-    when(cat.sound()).thenReturn("Purr");
-    expect(cat.sound(), "Purr");
+    when(cat.sound()).thenReturn('Purr');
+    expect(cat.sound(), 'Purr');
 
     // You can call it again.
-    expect(cat.sound(), "Purr");
+    expect(cat.sound(), 'Purr');
 
     // Let's change the stub.
-    when(cat.sound()).thenReturn("Meow");
-    expect(cat.sound(), "Meow");
+    when(cat.sound()).thenReturn('Meow');
+    expect(cat.sound(), 'Meow');
 
     // You can stub getters.
     when(cat.lives).thenReturn(9);
@@ -66,48 +66,48 @@
     expect(() => cat.lives, throwsRangeError);
 
     // We can calculate a response at call time.
-    var responses = ["Purr", "Meow"];
+    var responses = ['Purr', 'Meow'];
     when(cat.sound()).thenAnswer((_) => responses.removeAt(0));
-    expect(cat.sound(), "Purr");
-    expect(cat.sound(), "Meow");
+    expect(cat.sound(), 'Purr');
+    expect(cat.sound(), 'Meow');
   });
 
-  test("Argument matchers", () {
+  test('Argument matchers', () {
     // You can use plain arguments themselves
-    when(cat.eatFood("fish")).thenReturn(true);
+    when(cat.eatFood('fish')).thenReturn(true);
 
     // ... including collections
-    when(cat.walk(["roof", "tree"])).thenReturn(2);
+    when(cat.walk(['roof', 'tree'])).thenReturn(2);
 
     // ... or matchers
-    when(cat.eatFood(argThat(startsWith("dry")))).thenReturn(false);
+    when(cat.eatFood(argThat(startsWith('dry')))).thenReturn(false);
 
     // ... or mix aguments with matchers
-    when(cat.eatFood(argThat(startsWith("dry")), hungry: true))
+    when(cat.eatFood(argThat(startsWith('dry')), hungry: true))
         .thenReturn(true);
-    expect(cat.eatFood("fish"), isTrue);
-    expect(cat.walk(["roof", "tree"]), equals(2));
-    expect(cat.eatFood("dry food"), isFalse);
-    expect(cat.eatFood("dry food", hungry: true), isTrue);
+    expect(cat.eatFood('fish'), isTrue);
+    expect(cat.walk(['roof', 'tree']), equals(2));
+    expect(cat.eatFood('dry food'), isFalse);
+    expect(cat.eatFood('dry food', hungry: true), isTrue);
 
     // You can also verify using an argument matcher.
-    verify(cat.eatFood("fish"));
-    verify(cat.walk(["roof", "tree"]));
-    verify(cat.eatFood(argThat(contains("food"))));
+    verify(cat.eatFood('fish'));
+    verify(cat.walk(['roof', 'tree']));
+    verify(cat.eatFood(argThat(contains('food'))));
 
     // You can verify setters.
     cat.lives = 9;
     verify(cat.lives = 9);
 
-    cat.hunt("backyard", null);
-    verify(cat.hunt("backyard", null)); // OK: no arg matchers.
+    cat.hunt('backyard', null);
+    verify(cat.hunt('backyard', null)); // OK: no arg matchers.
 
-    cat.hunt("backyard", null);
-    verify(cat.hunt(argThat(contains("yard")),
+    cat.hunt('backyard', null);
+    verify(cat.hunt(argThat(contains('yard')),
         argThat(isNull))); // OK: null is wrapped in an arg matcher.
   });
 
-  test("Named arguments", () {
+  test('Named arguments', () {
     // GOOD: argument matchers include their names.
     when(cat.eatFood(any, hungry: anyNamed('hungry'))).thenReturn(true);
     when(cat.eatFood(any, hungry: argThat(isNotNull, named: 'hungry')))
@@ -117,7 +117,7 @@
         .thenReturn(true);
   });
 
-  test("Verifying exact number of invocations / at least x / never", () {
+  test('Verifying exact number of invocations / at least x / never', () {
     cat.sound();
     cat.sound();
     // Exact number of invocations
@@ -133,41 +133,41 @@
     verifyNever(cat.eatFood(any));
   });
 
-  test("Verification in order", () {
-    cat.eatFood("Milk");
+  test('Verification in order', () {
+    cat.eatFood('Milk');
     cat.sound();
-    cat.eatFood("Fish");
-    verifyInOrder([cat.eatFood("Milk"), cat.sound(), cat.eatFood("Fish")]);
+    cat.eatFood('Fish');
+    verifyInOrder([cat.eatFood('Milk'), cat.sound(), cat.eatFood('Fish')]);
   });
 
-  test("Making sure interaction(s) never happened on mock", () {
+  test('Making sure interaction(s) never happened on mock', () {
     verifyZeroInteractions(cat);
   });
 
-  test("Finding redundant invocations", () {
+  test('Finding redundant invocations', () {
     cat.sound();
     verify(cat.sound());
     verifyNoMoreInteractions(cat);
   });
 
-  test("Capturing arguments for further assertions", () {
+  test('Capturing arguments for further assertions', () {
     // Simple capture:
-    cat.eatFood("Fish");
-    expect(verify(cat.eatFood(captureAny)).captured.single, "Fish");
+    cat.eatFood('Fish');
+    expect(verify(cat.eatFood(captureAny)).captured.single, 'Fish');
 
     // Capture multiple calls:
-    cat.eatFood("Milk");
-    cat.eatFood("Fish");
-    expect(verify(cat.eatFood(captureAny)).captured, ["Milk", "Fish"]);
+    cat.eatFood('Milk');
+    cat.eatFood('Fish');
+    expect(verify(cat.eatFood(captureAny)).captured, ['Milk', 'Fish']);
 
     // Conditional capture:
-    cat.eatFood("Milk");
-    cat.eatFood("Fish");
+    cat.eatFood('Milk');
+    cat.eatFood('Fish');
     expect(
-        verify(cat.eatFood(captureThat(startsWith("F")))).captured, ["Fish"]);
+        verify(cat.eatFood(captureThat(startsWith('F')))).captured, ['Fish']);
   });
 
-  test("Waiting for an interaction", () async {
+  test('Waiting for an interaction', () async {
     Future<void> chewHelper(Cat cat) {
       return cat.chew();
     }
@@ -177,15 +177,15 @@
     await untilCalled(cat.chew()); // This completes when cat.chew() is called.
 
     // Waiting for a call that has already happened.
-    cat.eatFood("Fish");
+    cat.eatFood('Fish');
     await untilCalled(cat.eatFood(any)); // This completes immediately.
   });
 
-  test("Fake class", () {
+  test('Fake class', () {
     // Create a new fake Cat at runtime.
     var cat = FakeCat();
 
-    cat.eatFood("Milk"); // Prints 'Fake eat Milk'.
+    cat.eatFood('Milk'); // Prints 'Fake eat Milk'.
     expect(() => cat.sleep(), throwsUnimplementedError);
   });
 }
diff --git a/example/iss/iss.dart b/example/iss/iss.dart
index e932fd9..eef8df4 100644
--- a/example/iss/iss.dart
+++ b/example/iss/iss.dart
@@ -31,9 +31,7 @@
 
   /// Returns the current GPS position in [latitude, longitude] format.
   Future update() async {
-    if (_ongoingRequest == null) {
-      _ongoingRequest = _doUpdate();
-    }
+    _ongoingRequest ??= _doUpdate();
     await _ongoingRequest;
     _ongoingRequest = null;
   }
@@ -41,7 +39,7 @@
   Future _doUpdate() async {
     // Returns the point on the earth directly under the space station
     // at this moment.
-    Response rs = await client.get('http://api.open-notify.org/iss-now.json');
+    var rs = await client.get('http://api.open-notify.org/iss-now.json');
     var data = jsonDecode(rs.body);
     var latitude = double.parse(data['iss_position']['latitude'] as String);
     var longitude = double.parse(data['iss_position']['longitude'] as String);
@@ -60,7 +58,7 @@
   // The ISS is defined to be visible if the distance from the observer to
   // the point on the earth directly under the space station is less than 80km.
   bool get isVisible {
-    double distance = sphericalDistanceKm(locator.currentPosition, observer);
+    var distance = sphericalDistanceKm(locator.currentPosition, observer);
     return distance < 80.0;
   }
 }
diff --git a/example/iss/iss_test.dart b/example/iss/iss_test.dart
index 3aa2a62..dc4f3cd 100644
--- a/example/iss/iss_test.dart
+++ b/example/iss/iss_test.dart
@@ -27,18 +27,18 @@
   // verify the calculated distance between them.
   group('Spherical distance', () {
     test('London - Paris', () {
-      Point<double> london = Point(51.5073, -0.1277);
-      Point<double> paris = Point(48.8566, 2.3522);
-      double d = sphericalDistanceKm(london, paris);
+      var london = Point(51.5073, -0.1277);
+      var paris = Point(48.8566, 2.3522);
+      var d = sphericalDistanceKm(london, paris);
       // London should be approximately 343.5km
       // (+/- 0.1km) from Paris.
       expect(d, closeTo(343.5, 0.1));
     });
 
     test('San Francisco - Mountain View', () {
-      Point<double> sf = Point(37.783333, -122.416667);
-      Point<double> mtv = Point(37.389444, -122.081944);
-      double d = sphericalDistanceKm(sf, mtv);
+      var sf = Point(37.783333, -122.416667);
+      var mtv = Point(37.389444, -122.081944);
+      var d = sphericalDistanceKm(sf, mtv);
       // San Francisco should be approximately 52.8km
       // (+/- 0.1km) from Mountain View.
       expect(d, closeTo(52.8, 0.1));
@@ -52,8 +52,8 @@
   // second predefined location. This test runs asynchronously.
   group('ISS spotter', () {
     test('ISS visible', () async {
-      Point<double> sf = Point(37.783333, -122.416667);
-      Point<double> mtv = Point(37.389444, -122.081944);
+      var sf = Point(37.783333, -122.416667);
+      var mtv = Point(37.389444, -122.081944);
       IssLocator locator = MockIssLocator();
       // Mountain View should be visible from San Francisco.
       when(locator.currentPosition).thenReturn(sf);
@@ -63,8 +63,8 @@
     });
 
     test('ISS not visible', () async {
-      Point<double> london = Point(51.5073, -0.1277);
-      Point<double> mtv = Point(37.389444, -122.081944);
+      var london = Point(51.5073, -0.1277);
+      var mtv = Point(37.389444, -122.081944);
       IssLocator locator = MockIssLocator();
       // London should not be visible from Mountain View.
       when(locator.currentPosition).thenReturn(london);
diff --git a/lib/src/mock.dart b/lib/src/mock.dart
index 320586e..d83c070 100644
--- a/lib/src/mock.dart
+++ b/lib/src/mock.dart
@@ -17,6 +17,7 @@
 import 'package:meta/meta.dart';
 import 'package:mockito/src/call_pair.dart';
 import 'package:mockito/src/invocation_matcher.dart';
+// ignore: deprecated_member_use
 import 'package:test_api/test_api.dart';
 // TODO(srawlins): Remove this when we no longer need to check for an
 // incompatiblity between test_api and test.
@@ -37,7 +38,8 @@
 @Deprecated(
     'This function is not a supported function, and may be deleted as early as '
     'Mockito 5.0.0')
-void setDefaultResponse(Mock mock, CallPair<dynamic> defaultResponse()) {
+void setDefaultResponse(
+    Mock mock, CallPair<dynamic> Function() defaultResponse) {
   mock._defaultResponse = defaultResponse;
 }
 
@@ -136,7 +138,7 @@
       const Object().noSuchMethod(invocation);
 
   @override
-  int get hashCode => _givenHashCode == null ? 0 : _givenHashCode;
+  int get hashCode => _givenHashCode ?? 0;
 
   @override
   bool operator ==(other) => (_givenHashCode != null && other is Mock)
@@ -144,7 +146,7 @@
       : identical(this, other);
 
   @override
-  String toString() => _givenName != null ? _givenName : runtimeType.toString();
+  String toString() => _givenName ?? runtimeType.toString();
 
   String _realCallsToString() {
     var stringRepresentations = _realCalls.map((call) => call.toString());
@@ -238,7 +240,7 @@
   factory _InvocationForMatchedArguments(Invocation invocation) {
     if (_storedArgs.isEmpty && _storedNamedArgs.isEmpty) {
       throw StateError(
-          "_InvocationForMatchedArguments called when no ArgMatchers have been saved.");
+          '_InvocationForMatchedArguments called when no ArgMatchers have been saved.');
     }
 
     // Handle named arguments first, so that we can provide useful errors for
@@ -289,7 +291,7 @@
     // Iterate through the stored named args, validate them, and add them to
     // the return map.
     _storedNamedArgs.forEach((name, arg) {
-      Symbol nameSymbol = Symbol(name);
+      var nameSymbol = Symbol(name);
       if (!invocation.namedArguments.containsKey(nameSymbol)) {
         // Clear things out for the next call.
         _storedArgs.clear();
@@ -344,8 +346,8 @@
           'needs to specify the name of the argument it is being used in. For '
           'example: `when(obj.fn(x: anyNamed("x")))`).');
     }
-    int storedIndex = 0;
-    int positionalIndex = 0;
+    var storedIndex = 0;
+    var positionalIndex = 0;
     while (storedIndex < _storedArgs.length &&
         positionalIndex < invocation.positionalArguments.length) {
       var arg = _storedArgs[storedIndex];
@@ -456,7 +458,7 @@
   }
 
   void _captureArguments(Invocation invocation) {
-    int index = 0;
+    var index = 0;
     for (var roleArg in roleInvocation.positionalArguments) {
       var actArg = invocation.positionalArguments[index];
       if (roleArg is ArgMatcher && roleArg._capture) {
@@ -484,7 +486,7 @@
         roleInvocation.namedArguments.length) {
       return false;
     }
-    int index = 0;
+    var index = 0;
     for (var roleArg in roleInvocation.positionalArguments) {
       var actArg = invocation.positionalArguments[index];
       if (!isMatchingArg(roleArg, actArg)) {
@@ -541,8 +543,7 @@
   @override
   String toString() {
     var argString = '';
-    var args = invocation.positionalArguments
-        .map((v) => v == null ? "null" : v.toString());
+    var args = invocation.positionalArguments.map((v) => '$v');
     if (args.any((arg) => arg.contains('\n'))) {
       // As one or more arg contains newlines, put each on its own line, and
       // indent each, for better readability.
@@ -649,18 +650,18 @@
     if (!never && matchingInvocations.isEmpty) {
       var message;
       if (mock._realCalls.isEmpty) {
-        message = "No matching calls (actually, no calls at all).";
+        message = 'No matching calls (actually, no calls at all).';
       } else {
         var otherCalls = mock._realCallsToString();
-        message = "No matching calls. All calls: $otherCalls";
+        message = 'No matching calls. All calls: $otherCalls';
       }
-      fail("$message\n"
-          "(If you called `verify(...).called(0);`, please instead use "
-          "`verifyNever(...);`.)");
+      fail('$message\n'
+          '(If you called `verify(...).called(0);`, please instead use '
+          '`verifyNever(...);`.)');
     }
     if (never && matchingInvocations.isNotEmpty) {
       var calls = mock._realCallsToString();
-      fail("Unexpected calls. All calls: $calls");
+      fail('Unexpected calls. All calls: $calls');
     }
     matchingInvocations.forEach((inv) {
       inv.verified = true;
@@ -873,7 +874,7 @@
       _checkTestApiMismatch();
     }
     expect(callCount, wrapMatcher(matcher),
-        reason: "Unexpected number of calls");
+        reason: 'Unexpected number of calls');
   }
 }
 
@@ -939,12 +940,12 @@
   return <T>(T mock) {
     _verificationInProgress = false;
     if (_verifyCalls.length == 1) {
-      _VerifyCall verifyCall = _verifyCalls.removeLast();
+      var verifyCall = _verifyCalls.removeLast();
       var result = VerificationResult._(verifyCall.matchingInvocations.length);
       verifyCall._checkWith(never);
       return result;
     } else {
-      fail("Used on a non-mockito object");
+      fail('Used on a non-mockito object');
     }
   };
 }
@@ -970,23 +971,22 @@
   _verificationInProgress = true;
   return <T>(List<T> _) {
     _verificationInProgress = false;
-    DateTime dt = DateTime.fromMillisecondsSinceEpoch(0);
+    var dt = DateTime.fromMillisecondsSinceEpoch(0);
     var tmpVerifyCalls = List<_VerifyCall>.from(_verifyCalls);
     _verifyCalls.clear();
-    List<RealCall> matchedCalls = [];
-    for (_VerifyCall verifyCall in tmpVerifyCalls) {
-      RealCall matched = verifyCall._findAfter(dt);
+    var matchedCalls = <RealCall>[];
+    for (var verifyCall in tmpVerifyCalls) {
+      var matched = verifyCall._findAfter(dt);
       if (matched != null) {
         matchedCalls.add(matched);
         dt = matched.timeStamp;
       } else {
-        Set<Mock> mocks =
-            tmpVerifyCalls.map((_VerifyCall vc) => vc.mock).toSet();
-        List<RealCall> allInvocations =
+        var mocks = tmpVerifyCalls.map((vc) => vc.mock).toSet();
+        var allInvocations =
             mocks.expand((m) => m._realCalls).toList(growable: false);
         allInvocations
             .sort((inv1, inv2) => inv1.timeStamp.compareTo(inv2.timeStamp));
-        String otherCalls = "";
+        var otherCalls = '';
         if (allInvocations.isNotEmpty) {
           otherCalls = " All calls: ${allInvocations.join(", ")}";
         }
@@ -1011,7 +1011,7 @@
   if (mock is Mock) {
     var unverified = mock._realCalls.where((inv) => !inv.verified).toList();
     if (unverified.isNotEmpty) {
-      fail("No more calls expected, but following found: " + unverified.join());
+      fail('No more calls expected, but following found: ' + unverified.join());
     }
   } else {
     _throwMockArgumentError('verifyNoMoreInteractions', mock);
@@ -1021,7 +1021,7 @@
 void verifyZeroInteractions(var mock) {
   if (mock is Mock) {
     if (mock._realCalls.isNotEmpty) {
-      fail("No interaction expected, but following found: " +
+      fail('No interaction expected, but following found: ' +
           mock._realCalls.join());
     }
   } else {
@@ -1084,7 +1084,7 @@
 
 /// Print all collected invocations of any mock methods of [mocks].
 void logInvocations(List<Mock> mocks) {
-  List<RealCall> allInvocations =
+  var allInvocations =
       mocks.expand((m) => m._realCalls).toList(growable: false);
   allInvocations.sort((inv1, inv2) => inv1.timeStamp.compareTo(inv2.timeStamp));
   allInvocations.forEach((inv) {
diff --git a/pubspec.yaml b/pubspec.yaml
index b291b6d..1f438d9 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,5 +1,5 @@
 name: mockito
-version: 4.1.1
+version: 4.1.2-dev
 
 authors:
   - Dmitriy Fibulwinter <fibulwinter@gmail.com>
diff --git a/test/capture_test.dart b/test/capture_test.dart
index 09da045..7c597ba 100644
--- a/test/capture_test.dart
+++ b/test/capture_test.dart
@@ -22,7 +22,7 @@
   String methodWithNormalArgs(int x) => 'Real';
   String methodWithListArgs(List<int> x) => 'Real';
   String methodWithPositionalArgs(int x, [int y]) => 'Real';
-  String methodWithTwoNamedArgs(int x, {int y, int z}) => "Real";
+  String methodWithTwoNamedArgs(int x, {int y, int z}) => 'Real';
   set setter(String arg) {
     throw StateError('I must be mocked');
   }
diff --git a/test/deprecated_apis/mockito_test.dart b/test/deprecated_apis/mockito_test.dart
index 95dbcb4..ab9a4e3 100644
--- a/test/deprecated_apis/mockito_test.dart
+++ b/test/deprecated_apis/mockito_test.dart
@@ -24,18 +24,18 @@
 
 class _RealClass {
   _RealClass innerObj;
-  String methodWithoutArgs() => "Real";
-  String methodWithNormalArgs(int x) => "Real";
-  String methodWithListArgs(List<int> x) => "Real";
-  String methodWithPositionalArgs(int x, [int y]) => "Real";
-  String methodWithNamedArgs(int x, {int y}) => "Real";
-  String methodWithTwoNamedArgs(int x, {int y, int z}) => "Real";
-  String methodWithObjArgs(_RealClass x) => "Real";
-  Future<String> methodReturningFuture() => Future.value("Real");
-  Stream<String> methodReturningStream() => Stream.fromIterable(["Real"]);
-  String get getter => "Real";
+  String methodWithoutArgs() => 'Real';
+  String methodWithNormalArgs(int x) => 'Real';
+  String methodWithListArgs(List<int> x) => 'Real';
+  String methodWithPositionalArgs(int x, [int y]) => 'Real';
+  String methodWithNamedArgs(int x, {int y}) => 'Real';
+  String methodWithTwoNamedArgs(int x, {int y, int z}) => 'Real';
+  String methodWithObjArgs(_RealClass x) => 'Real';
+  Future<String> methodReturningFuture() => Future.value('Real');
+  Stream<String> methodReturningStream() => Stream.fromIterable(['Real']);
+  String get getter => 'Real';
   set setter(String arg) {
-    throw StateError("I must be mocked");
+    throw StateError('I must be mocked');
   }
 }
 
@@ -54,23 +54,23 @@
 
 class _MockedClass extends Mock implements _RealClass {}
 
-void expectFail(String expectedMessage, dynamic expectedToFail()) {
+void expectFail(String expectedMessage, void Function() expectedToFail) {
   try {
     expectedToFail();
-    fail("It was expected to fail!");
+    fail('It was expected to fail!');
   } catch (e) {
     if (!(e is TestFailure)) {
       rethrow;
     } else {
       if (expectedMessage != e.message) {
-        throw TestFailure("Failed, but with wrong message: ${e.message}");
+        throw TestFailure('Failed, but with wrong message: ${e.message}');
       }
     }
   }
 }
 
-String noMatchingCallsFooter = "(If you called `verify(...).called(0);`, "
-    "please instead use `verifyNever(...);`.)";
+String noMatchingCallsFooter = '(If you called `verify(...).called(0);`, '
+    'please instead use `verifyNever(...);`.)';
 
 void main() {
   _MockedClass mock;
@@ -85,67 +85,67 @@
     resetMockitoState();
   });
 
-  group("when()", () {
-    test("should mock method with argument matcher", () {
+  group('when()', () {
+    test('should mock method with argument matcher', () {
       when(mock.methodWithNormalArgs(typed(argThat(greaterThan(100)))))
-          .thenReturn("A lot!");
+          .thenReturn('A lot!');
       expect(mock.methodWithNormalArgs(100), isNull);
-      expect(mock.methodWithNormalArgs(101), equals("A lot!"));
+      expect(mock.methodWithNormalArgs(101), equals('A lot!'));
     });
 
-    test("should mock method with any argument matcher", () {
-      when(mock.methodWithNormalArgs(typed(any))).thenReturn("A lot!");
-      expect(mock.methodWithNormalArgs(100), equals("A lot!"));
-      expect(mock.methodWithNormalArgs(101), equals("A lot!"));
+    test('should mock method with any argument matcher', () {
+      when(mock.methodWithNormalArgs(typed(any))).thenReturn('A lot!');
+      expect(mock.methodWithNormalArgs(100), equals('A lot!'));
+      expect(mock.methodWithNormalArgs(101), equals('A lot!'));
     });
 
-    test("should mock method with any list argument matcher", () {
-      when(mock.methodWithListArgs(typed(any))).thenReturn("A lot!");
-      expect(mock.methodWithListArgs([42]), equals("A lot!"));
-      expect(mock.methodWithListArgs([43]), equals("A lot!"));
+    test('should mock method with any list argument matcher', () {
+      when(mock.methodWithListArgs(typed(any))).thenReturn('A lot!');
+      expect(mock.methodWithListArgs([42]), equals('A lot!'));
+      expect(mock.methodWithListArgs([43]), equals('A lot!'));
     });
 
-    test("should mock method with mix of argument matchers and real things",
+    test('should mock method with mix of argument matchers and real things',
         () {
       when(mock.methodWithPositionalArgs(typed(argThat(greaterThan(100))), 17))
-          .thenReturn("A lot with 17");
+          .thenReturn('A lot with 17');
       expect(mock.methodWithPositionalArgs(100, 17), isNull);
       expect(mock.methodWithPositionalArgs(101, 18), isNull);
-      expect(mock.methodWithPositionalArgs(101, 17), equals("A lot with 17"));
+      expect(mock.methodWithPositionalArgs(101, 17), equals('A lot with 17'));
     });
 
     //no need to mock setter, except if we will have spies later...
-    test("should mock method with thrown result", () {
+    test('should mock method with thrown result', () {
       when(mock.methodWithNormalArgs(typed(any))).thenThrow(StateError('Boo'));
       expect(() => mock.methodWithNormalArgs(42), throwsStateError);
     });
 
-    test("should mock method with calculated result", () {
+    test('should mock method with calculated result', () {
       when(mock.methodWithNormalArgs(typed(any))).thenAnswer(
           (Invocation inv) => inv.positionalArguments[0].toString());
-      expect(mock.methodWithNormalArgs(43), equals("43"));
-      expect(mock.methodWithNormalArgs(42), equals("42"));
+      expect(mock.methodWithNormalArgs(43), equals('43'));
+      expect(mock.methodWithNormalArgs(42), equals('42'));
     });
 
-    test("should mock method with calculated result", () {
+    test('should mock method with calculated result', () {
       when(mock.methodWithNormalArgs(typed(argThat(equals(43)))))
-          .thenReturn("43");
+          .thenReturn('43');
       when(mock.methodWithNormalArgs(typed(argThat(equals(42)))))
-          .thenReturn("42");
-      expect(mock.methodWithNormalArgs(43), equals("43"));
+          .thenReturn('42');
+      expect(mock.methodWithNormalArgs(43), equals('43'));
     });
 
-    test("should mock hashCode", () {
+    test('should mock hashCode', () {
       named(mock, hashCode: 42);
       expect(mock.hashCode, equals(42));
     });
 
-    test("should have toString as name when it is not mocked", () {
-      named(mock, name: "Cat");
-      expect(mock.toString(), equals("Cat"));
+    test('should have toString as name when it is not mocked', () {
+      named(mock, name: 'Cat');
+      expect(mock.toString(), equals('Cat'));
     });
 
-    test("should mock equals between mocks when givenHashCode is equals", () {
+    test('should mock equals between mocks when givenHashCode is equals', () {
       var anotherMock = named(_MockedClass(), hashCode: 42);
       named(mock, hashCode: 42);
       expect(mock == anotherMock, isTrue);
diff --git a/test/deprecated_apis/until_called_test.dart b/test/deprecated_apis/until_called_test.dart
index 92ed487..f4e6801 100644
--- a/test/deprecated_apis/until_called_test.dart
+++ b/test/deprecated_apis/until_called_test.dart
@@ -86,8 +86,7 @@
   });
 
   group('untilCalled', () {
-    StreamController<CallMethodsEvent> streamController =
-        StreamController.broadcast();
+    var streamController = StreamController<CallMethodsEvent>.broadcast();
 
     group('on methods already called', () {
       test('waits for method with normal args', () async {
diff --git a/test/deprecated_apis/verify_test.dart b/test/deprecated_apis/verify_test.dart
index a8c870c..74cfdcb 100644
--- a/test/deprecated_apis/verify_test.dart
+++ b/test/deprecated_apis/verify_test.dart
@@ -57,7 +57,7 @@
 
 class _MockedClass extends Mock implements _RealClass {}
 
-void expectFail(String expectedMessage, dynamic expectedToFail()) {
+void expectFail(String expectedMessage, void Function() expectedToFail) {
   try {
     expectedToFail();
     fail('It was expected to fail!');
diff --git a/test/invocation_matcher_test.dart b/test/invocation_matcher_test.dart
index 12eae07..dc5bb52 100644
--- a/test/invocation_matcher_test.dart
+++ b/test/invocation_matcher_test.dart
@@ -66,9 +66,9 @@
       shouldFail(
         call1,
         isInvocation(call3),
-        "Expected: lie(<false>) "
+        'Expected: lie(<false>) '
         "Actual: <Instance of '${call3.runtimeType}'> "
-        "Which: Does not match lie(<true>)",
+        'Which: Does not match lie(<true>)',
       );
     });
 
@@ -102,9 +102,9 @@
         call1,
         isInvocation(call3),
         // RegExp needed because of https://github.com/dart-lang/sdk/issues/33565
-        RegExp("Expected: set value=? <false> "
+        RegExp('Expected: set value=? <false> '
             "Actual: <Instance of '${call3.runtimeType}'> "
-            "Which: Does not match set value=? <true>"),
+            'Which: Does not match set value=? <true>'),
       );
     });
   });
@@ -118,7 +118,7 @@
       shouldFail(
         call,
         invokes(#say, positionalArguments: [isNull]),
-        "Expected: say(null) "
+        'Expected: say(null) '
         "Actual: <Instance of '${call.runtimeType}'> "
         "Which: Does not match say('Hello')",
       );
diff --git a/test/mockito_test.dart b/test/mockito_test.dart
index 3ac032b..e31cde2 100644
--- a/test/mockito_test.dart
+++ b/test/mockito_test.dart
@@ -21,16 +21,16 @@
 
 class _RealClass {
   _RealClass innerObj;
-  String methodWithoutArgs() => "Real";
-  String methodWithNormalArgs(int x) => "Real";
-  String methodWithListArgs(List<int> x) => "Real";
-  String methodWithPositionalArgs(int x, [int y]) => "Real";
-  String methodWithNamedArgs(int x, {int y}) => "Real";
-  String methodWithTwoNamedArgs(int x, {int y, int z}) => "Real";
-  String methodWithObjArgs(_RealClass x) => "Real";
-  Future<String> methodReturningFuture() => Future.value("Real");
-  Stream<String> methodReturningStream() => Stream.fromIterable(["Real"]);
-  String get getter => "Real";
+  String methodWithoutArgs() => 'Real';
+  String methodWithNormalArgs(int x) => 'Real';
+  String methodWithListArgs(List<int> x) => 'Real';
+  String methodWithPositionalArgs(int x, [int y]) => 'Real';
+  String methodWithNamedArgs(int x, {int y}) => 'Real';
+  String methodWithTwoNamedArgs(int x, {int y, int z}) => 'Real';
+  String methodWithObjArgs(_RealClass x) => 'Real';
+  Future<String> methodReturningFuture() => Future.value('Real');
+  Stream<String> methodReturningStream() => Stream.fromIterable(['Real']);
+  String get getter => 'Real';
 }
 
 abstract class _Foo {
@@ -43,30 +43,30 @@
 
   String baz();
 
-  String quux() => "Real";
+  String quux() => 'Real';
 }
 
 class _MockFoo extends _AbstractFoo with Mock {}
 
 class _MockedClass extends Mock implements _RealClass {}
 
-void expectFail(String expectedMessage, dynamic expectedToFail()) {
+void expectFail(String expectedMessage, void Function() expectedToFail) {
   try {
     expectedToFail();
-    fail("It was expected to fail!");
+    fail('It was expected to fail!');
   } catch (e) {
     if (!(e is TestFailure)) {
       rethrow;
     } else {
       if (expectedMessage != e.message) {
-        throw TestFailure("Failed, but with wrong message: ${e.message}");
+        throw TestFailure('Failed, but with wrong message: ${e.message}');
       }
     }
   }
 }
 
-String noMatchingCallsFooter = "(If you called `verify(...).called(0);`, "
-    "please instead use `verifyNever(...);`.)";
+String noMatchingCallsFooter = '(If you called `verify(...).called(0);`, '
+    'please instead use `verifyNever(...);`.)';
 
 void main() {
   _MockedClass mock;
@@ -83,229 +83,229 @@
     resetMockitoState();
   });
 
-  group("mixin support", () {
-    test("should work", () {
+  group('mixin support', () {
+    test('should work', () {
       var foo = _MockFoo();
       when(foo.baz()).thenReturn('baz');
       expect(foo.bar(), 'baz');
     });
   });
 
-  group("when()", () {
-    test("should mock method without args", () {
-      when(mock.methodWithoutArgs()).thenReturn("A");
-      expect(mock.methodWithoutArgs(), equals("A"));
+  group('when()', () {
+    test('should mock method without args', () {
+      when(mock.methodWithoutArgs()).thenReturn('A');
+      expect(mock.methodWithoutArgs(), equals('A'));
     });
 
-    test("should mock method with normal args", () {
-      when(mock.methodWithNormalArgs(42)).thenReturn("Ultimate Answer");
+    test('should mock method with normal args', () {
+      when(mock.methodWithNormalArgs(42)).thenReturn('Ultimate Answer');
       expect(mock.methodWithNormalArgs(43), isNull);
-      expect(mock.methodWithNormalArgs(42), equals("Ultimate Answer"));
+      expect(mock.methodWithNormalArgs(42), equals('Ultimate Answer'));
     });
 
-    test("should mock method with mock args", () {
+    test('should mock method with mock args', () {
       var m1 = _MockedClass();
-      when(mock.methodWithObjArgs(m1)).thenReturn("Ultimate Answer");
+      when(mock.methodWithObjArgs(m1)).thenReturn('Ultimate Answer');
       expect(mock.methodWithObjArgs(_MockedClass()), isNull);
-      expect(mock.methodWithObjArgs(m1), equals("Ultimate Answer"));
+      expect(mock.methodWithObjArgs(m1), equals('Ultimate Answer'));
     });
 
-    test("should mock method with positional args", () {
-      when(mock.methodWithPositionalArgs(42, 17)).thenReturn("Answer and...");
+    test('should mock method with positional args', () {
+      when(mock.methodWithPositionalArgs(42, 17)).thenReturn('Answer and...');
       expect(mock.methodWithPositionalArgs(42), isNull);
       expect(mock.methodWithPositionalArgs(42, 18), isNull);
-      expect(mock.methodWithPositionalArgs(42, 17), equals("Answer and..."));
+      expect(mock.methodWithPositionalArgs(42, 17), equals('Answer and...'));
     });
 
-    test("should mock method with named args", () {
-      when(mock.methodWithNamedArgs(42, y: 17)).thenReturn("Why answer?");
+    test('should mock method with named args', () {
+      when(mock.methodWithNamedArgs(42, y: 17)).thenReturn('Why answer?');
       expect(mock.methodWithNamedArgs(42), isNull);
       expect(mock.methodWithNamedArgs(42, y: 18), isNull);
-      expect(mock.methodWithNamedArgs(42, y: 17), equals("Why answer?"));
+      expect(mock.methodWithNamedArgs(42, y: 17), equals('Why answer?'));
     });
 
-    test("should mock method with List args", () {
-      when(mock.methodWithListArgs([42])).thenReturn("Ultimate answer");
+    test('should mock method with List args', () {
+      when(mock.methodWithListArgs([42])).thenReturn('Ultimate answer');
       expect(mock.methodWithListArgs([43]), isNull);
-      expect(mock.methodWithListArgs([42]), equals("Ultimate answer"));
+      expect(mock.methodWithListArgs([42]), equals('Ultimate answer'));
     });
 
-    test("should mock method with argument matcher", () {
+    test('should mock method with argument matcher', () {
       when(mock.methodWithNormalArgs(argThat(greaterThan(100))))
-          .thenReturn("A lot!");
+          .thenReturn('A lot!');
       expect(mock.methodWithNormalArgs(100), isNull);
-      expect(mock.methodWithNormalArgs(101), equals("A lot!"));
+      expect(mock.methodWithNormalArgs(101), equals('A lot!'));
     });
 
-    test("should mock method with any argument matcher", () {
-      when(mock.methodWithNormalArgs(any)).thenReturn("A lot!");
-      expect(mock.methodWithNormalArgs(100), equals("A lot!"));
-      expect(mock.methodWithNormalArgs(101), equals("A lot!"));
+    test('should mock method with any argument matcher', () {
+      when(mock.methodWithNormalArgs(any)).thenReturn('A lot!');
+      expect(mock.methodWithNormalArgs(100), equals('A lot!'));
+      expect(mock.methodWithNormalArgs(101), equals('A lot!'));
     });
 
-    test("should mock method with any list argument matcher", () {
-      when(mock.methodWithListArgs(any)).thenReturn("A lot!");
-      expect(mock.methodWithListArgs([42]), equals("A lot!"));
-      expect(mock.methodWithListArgs([43]), equals("A lot!"));
+    test('should mock method with any list argument matcher', () {
+      when(mock.methodWithListArgs(any)).thenReturn('A lot!');
+      expect(mock.methodWithListArgs([42]), equals('A lot!'));
+      expect(mock.methodWithListArgs([43]), equals('A lot!'));
     });
 
-    test("should mock method with multiple named args and matchers", () {
+    test('should mock method with multiple named args and matchers', () {
       when(mock.methodWithTwoNamedArgs(any, y: anyNamed('y')))
-          .thenReturn("x y");
+          .thenReturn('x y');
       when(mock.methodWithTwoNamedArgs(any, z: anyNamed('z')))
-          .thenReturn("x z");
+          .thenReturn('x z');
       if (isNsmForwarding) {
-        expect(mock.methodWithTwoNamedArgs(42), "x z");
+        expect(mock.methodWithTwoNamedArgs(42), 'x z');
       } else {
         expect(mock.methodWithTwoNamedArgs(42), isNull);
       }
-      expect(mock.methodWithTwoNamedArgs(42, y: 18), equals("x y"));
-      expect(mock.methodWithTwoNamedArgs(42, z: 17), equals("x z"));
+      expect(mock.methodWithTwoNamedArgs(42, y: 18), equals('x y'));
+      expect(mock.methodWithTwoNamedArgs(42, z: 17), equals('x z'));
       expect(mock.methodWithTwoNamedArgs(42, y: 18, z: 17), isNull);
       when(mock.methodWithTwoNamedArgs(any, y: anyNamed('y'), z: anyNamed('z')))
-          .thenReturn("x y z");
-      expect(mock.methodWithTwoNamedArgs(42, y: 18, z: 17), equals("x y z"));
+          .thenReturn('x y z');
+      expect(mock.methodWithTwoNamedArgs(42, y: 18, z: 17), equals('x y z'));
     });
 
-    test("should mock method with mix of argument matchers and real things",
+    test('should mock method with mix of argument matchers and real things',
         () {
       when(mock.methodWithPositionalArgs(argThat(greaterThan(100)), 17))
-          .thenReturn("A lot with 17");
+          .thenReturn('A lot with 17');
       expect(mock.methodWithPositionalArgs(100, 17), isNull);
       expect(mock.methodWithPositionalArgs(101, 18), isNull);
-      expect(mock.methodWithPositionalArgs(101, 17), equals("A lot with 17"));
+      expect(mock.methodWithPositionalArgs(101, 17), equals('A lot with 17'));
     });
 
-    test("should mock getter", () {
-      when(mock.getter).thenReturn("A");
-      expect(mock.getter, equals("A"));
+    test('should mock getter', () {
+      when(mock.getter).thenReturn('A');
+      expect(mock.getter, equals('A'));
     });
 
-    test("should have hashCode when it is not mocked", () {
+    test('should have hashCode when it is not mocked', () {
       expect(mock.hashCode, isNotNull);
     });
 
-    test("should have default toString when it is not mocked", () {
-      expect(mock.toString(), equals("_MockedClass"));
+    test('should have default toString when it is not mocked', () {
+      expect(mock.toString(), equals('_MockedClass'));
     });
 
-    test("should use identical equality between it is not mocked", () {
+    test('should use identical equality between it is not mocked', () {
       var anotherMock = _MockedClass();
       expect(mock == anotherMock, isFalse);
       expect(mock == mock, isTrue);
     });
 
-    test("should mock method with thrown result", () {
+    test('should mock method with thrown result', () {
       when(mock.methodWithNormalArgs(any)).thenThrow(StateError('Boo'));
       expect(() => mock.methodWithNormalArgs(42), throwsStateError);
     });
 
-    test("should mock method with calculated result", () {
+    test('should mock method with calculated result', () {
       when(mock.methodWithNormalArgs(any)).thenAnswer(
           (Invocation inv) => inv.positionalArguments[0].toString());
-      expect(mock.methodWithNormalArgs(43), equals("43"));
-      expect(mock.methodWithNormalArgs(42), equals("42"));
+      expect(mock.methodWithNormalArgs(43), equals('43'));
+      expect(mock.methodWithNormalArgs(42), equals('42'));
     });
 
-    test("should return mock to make simple oneline mocks", () {
+    test('should return mock to make simple oneline mocks', () {
       _RealClass mockWithSetup = _MockedClass();
-      when(mockWithSetup.methodWithoutArgs()).thenReturn("oneline");
-      expect(mockWithSetup.methodWithoutArgs(), equals("oneline"));
+      when(mockWithSetup.methodWithoutArgs()).thenReturn('oneline');
+      expect(mockWithSetup.methodWithoutArgs(), equals('oneline'));
     });
 
-    test("should use latest matching when definition", () {
-      when(mock.methodWithoutArgs()).thenReturn("A");
-      when(mock.methodWithoutArgs()).thenReturn("B");
-      expect(mock.methodWithoutArgs(), equals("B"));
+    test('should use latest matching when definition', () {
+      when(mock.methodWithoutArgs()).thenReturn('A');
+      when(mock.methodWithoutArgs()).thenReturn('B');
+      expect(mock.methodWithoutArgs(), equals('B'));
     });
 
-    test("should mock method with calculated result", () {
-      when(mock.methodWithNormalArgs(argThat(equals(43)))).thenReturn("43");
-      when(mock.methodWithNormalArgs(argThat(equals(42)))).thenReturn("42");
-      expect(mock.methodWithNormalArgs(43), equals("43"));
+    test('should mock method with calculated result', () {
+      when(mock.methodWithNormalArgs(argThat(equals(43)))).thenReturn('43');
+      when(mock.methodWithNormalArgs(argThat(equals(42)))).thenReturn('42');
+      expect(mock.methodWithNormalArgs(43), equals('43'));
     });
 
     // Error path tests.
-    test("should throw if `when` is called while stubbing", () {
+    test('should throw if `when` is called while stubbing', () {
       expect(() {
         var responseHelper = () {
           var mock2 = _MockedClass();
-          when(mock2.getter).thenReturn("A");
+          when(mock2.getter).thenReturn('A');
           return mock2;
         };
         when(mock.innerObj).thenReturn(responseHelper());
       }, throwsStateError);
     });
 
-    test("thenReturn throws if provided Future", () {
+    test('thenReturn throws if provided Future', () {
       expect(
           () => when(mock.methodReturningFuture())
-              .thenReturn(Future.value("stub")),
+              .thenReturn(Future.value('stub')),
           throwsArgumentError);
     });
 
-    test("thenReturn throws if provided Stream", () {
+    test('thenReturn throws if provided Stream', () {
       expect(
           () => when(mock.methodReturningStream())
-              .thenReturn(Stream.fromIterable(["stub"])),
+              .thenReturn(Stream.fromIterable(['stub'])),
           throwsArgumentError);
     });
 
-    test("thenAnswer supports stubbing method returning a Future", () async {
+    test('thenAnswer supports stubbing method returning a Future', () async {
       when(mock.methodReturningFuture())
-          .thenAnswer((_) => Future.value("stub"));
+          .thenAnswer((_) => Future.value('stub'));
 
-      expect(await mock.methodReturningFuture(), "stub");
+      expect(await mock.methodReturningFuture(), 'stub');
     });
 
-    test("thenAnswer supports stubbing method returning a Stream", () async {
+    test('thenAnswer supports stubbing method returning a Stream', () async {
       when(mock.methodReturningStream())
-          .thenAnswer((_) => Stream.fromIterable(["stub"]));
+          .thenAnswer((_) => Stream.fromIterable(['stub']));
 
-      expect(await mock.methodReturningStream().toList(), ["stub"]);
+      expect(await mock.methodReturningStream().toList(), ['stub']);
     });
 
-    test("should throw if named matcher is passed as the wrong name", () {
+    test('should throw if named matcher is passed as the wrong name', () {
       expect(() {
-        when(mock.methodWithNamedArgs(argThat(equals(42)), y: anyNamed("z")))
-            .thenReturn("99");
+        when(mock.methodWithNamedArgs(argThat(equals(42)), y: anyNamed('z')))
+            .thenReturn('99');
       }, throwsArgumentError);
     });
 
-    test("should throw if attempting to stub a real method", () {
+    test('should throw if attempting to stub a real method', () {
       var foo = _MockFoo();
       expect(() {
-        when(foo.quux()).thenReturn("Stub");
+        when(foo.quux()).thenReturn('Stub');
       }, throwsStateError);
     });
   });
 
-  group("throwOnMissingStub", () {
-    test("should throw when a mock was called without a matching stub", () {
+  group('throwOnMissingStub', () {
+    test('should throw when a mock was called without a matching stub', () {
       throwOnMissingStub(mock);
-      when(mock.methodWithNormalArgs(42)).thenReturn("Ultimate Answer");
+      when(mock.methodWithNormalArgs(42)).thenReturn('Ultimate Answer');
       expect(
         () => (mock).methodWithoutArgs(),
         throwsNoSuchMethodError,
       );
     });
 
-    test("should not throw when a mock was called with a matching stub", () {
+    test('should not throw when a mock was called with a matching stub', () {
       throwOnMissingStub(mock);
-      when(mock.methodWithoutArgs()).thenReturn("A");
+      when(mock.methodWithoutArgs()).thenReturn('A');
       expect(() => mock.methodWithoutArgs(), returnsNormally);
     });
   });
 
   test(
-      "reports an error when using an argument matcher outside of stubbing or "
-      "verification", () {
+      'reports an error when using an argument matcher outside of stubbing or '
+      'verification', () {
     expect(() => mock.methodWithNormalArgs(any), throwsArgumentError);
   });
 
   test(
-      "reports an error when using an argument matcher in a position other "
-      "than an argument for the stubbed method", () {
+      'reports an error when using an argument matcher in a position other '
+      'than an argument for the stubbed method', () {
     expect(() => when(mock.methodWithListArgs(List.filled(7, any))),
         throwsArgumentError);
   });
diff --git a/test/until_called_test.dart b/test/until_called_test.dart
index 634c59c..4a0b03f 100644
--- a/test/until_called_test.dart
+++ b/test/until_called_test.dart
@@ -81,8 +81,7 @@
   });
 
   group('untilCalled', () {
-    StreamController<CallMethodsEvent> streamController =
-        StreamController.broadcast();
+    var streamController = StreamController<CallMethodsEvent>.broadcast();
 
     group('on methods already called', () {
       test('waits for method without args', () async {
diff --git a/test/verify_test.dart b/test/verify_test.dart
index 0c41c29..7622a2b 100644
--- a/test/verify_test.dart
+++ b/test/verify_test.dart
@@ -54,7 +54,7 @@
 
 class _MockedClass extends Mock implements _RealClass {}
 
-void expectFail(Pattern expectedMessage, dynamic expectedToFail()) {
+void expectFail(Pattern expectedMessage, void Function() expectedToFail) {
   try {
     expectedToFail();
     fail('It was expected to fail!');