diff --git a/analysis_options.yaml b/analysis_options.yaml
index 02a06ee..d7cb8a2 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -1,3 +1,4 @@
+include: package:pedantic/analysis_options.yaml
 analyzer:
   strong-mode:
     implicit-casts: false
diff --git a/lib/src/invocation_matcher.dart b/lib/src/invocation_matcher.dart
index 085ab79..9fc9d81 100644
--- a/lib/src/invocation_matcher.dart
+++ b/lib/src/invocation_matcher.dart
@@ -33,10 +33,10 @@
 /// what a user expects to be called.
 Matcher invokes(
   Symbol memberName, {
-  List<dynamic> positionalArguments: const [],
-  Map<Symbol, dynamic> namedArguments: const {},
-  bool isGetter: false,
-  bool isSetter: false,
+  List<dynamic> positionalArguments = const [],
+  Map<Symbol, dynamic> namedArguments = const {},
+  bool isGetter = false,
+  bool isSetter = false,
 }) {
   if (isGetter && isSetter) {
     throw new ArgumentError('Cannot set isGetter and iSetter');
@@ -80,10 +80,10 @@
 
   _InvocationSignature({
     @required this.memberName,
-    this.positionalArguments: const [],
-    this.namedArguments: const {},
-    this.isGetter: false,
-    this.isSetter: false,
+    this.positionalArguments = const [],
+    this.namedArguments = const {},
+    this.isGetter = false,
+    this.isSetter = false,
   });
 
   @override
diff --git a/pubspec.yaml b/pubspec.yaml
index 6af1ddf..b7e2307 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -9,7 +9,7 @@
 homepage: https://github.com/dart-lang/mockito
 
 environment:
-  sdk: '>=2.0.0-dev.16.0 <3.0.0'
+  sdk: '>=2.0.0 <3.0.0'
 
 dependencies:
   collection: ^1.1.0
@@ -21,3 +21,4 @@
   build_runner: ^1.0.0
   build_test: ^0.10.0
   build_web_compilers: ^0.4.0
+  pedantic: ^1.3.0
diff --git a/test/deprecated_apis/mockito_test.dart b/test/deprecated_apis/mockito_test.dart
index 2091b9f..e14cfdc 100644
--- a/test/deprecated_apis/mockito_test.dart
+++ b/test/deprecated_apis/mockito_test.dart
@@ -60,7 +60,7 @@
     fail("It was expected to fail!");
   } catch (e) {
     if (!(e is TestFailure)) {
-      throw e;
+      rethrow;
     } else {
       if (expectedMessage != e.message) {
         throw new TestFailure("Failed, but with wrong message: ${e.message}");
diff --git a/test/deprecated_apis/verify_test.dart b/test/deprecated_apis/verify_test.dart
index 219bc31..abb5b7e 100644
--- a/test/deprecated_apis/verify_test.dart
+++ b/test/deprecated_apis/verify_test.dart
@@ -63,7 +63,7 @@
     fail('It was expected to fail!');
   } catch (e) {
     if (!(e is TestFailure)) {
-      throw e;
+      rethrow;
     } else {
       if (expectedMessage != e.message) {
         throw new TestFailure('Failed, but with wrong message: ${e.message}');
diff --git a/test/mockito_test.dart b/test/mockito_test.dart
index 3369522..4c2765e 100644
--- a/test/mockito_test.dart
+++ b/test/mockito_test.dart
@@ -56,7 +56,7 @@
     fail("It was expected to fail!");
   } catch (e) {
     if (!(e is TestFailure)) {
-      throw e;
+      rethrow;
     } else {
       if (expectedMessage != e.message) {
         throw new TestFailure("Failed, but with wrong message: ${e.message}");
