Skip to content

Commit a443a43

Browse files
committed
generate mocks using mockito code generator
1 parent 9c3ccff commit a443a43

8 files changed

+118
-16
lines changed

flutter/pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ dev_dependencies:
2323
mockito: ^5.0.0-nullsafety.7
2424
yaml: ^3.0.0 # needed for version match (code and pubspec)
2525
pedantic: ^1.10.0
26+
build_runner: ^1.11.5
2627

2728
dependency_overrides:
2829
sentry:

flutter/test/default_integrations_test.dart

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import 'package:sentry/sentry.dart';
77
import 'package:sentry_flutter/sentry_flutter.dart';
88
import 'package:sentry_flutter/src/sentry_flutter_options.dart';
99

10-
import 'mocks.dart';
10+
import 'mocks.mocks.dart';
1111

1212
void main() {
1313
const _channel = MethodChannel('sentry_flutter');
@@ -48,7 +48,7 @@ void main() {
4848
_reportError(exception: exception);
4949

5050
final event = verify(
51-
await fixture.hub.captureEvent(captureAny!),
51+
await fixture.hub.captureEvent(captureAny),
5252
).captured.first as SentryEvent;
5353

5454
expect(SentryLevel.fatal, event.level);
@@ -67,23 +67,23 @@ void main() {
6767

6868
_reportError(handler: defaultError);
6969

70-
verify(await fixture.hub.captureEvent(captureAny!));
70+
verify(await fixture.hub.captureEvent(captureAny));
7171

7272
expect(true, called);
7373
});
7474

7575
test('FlutterError do not capture if silent error', () async {
7676
_reportError(silent: true);
7777

78-
verifyNever(await fixture.hub.captureEvent(captureAny!));
78+
verifyNever(await fixture.hub.captureEvent(captureAny));
7979
});
8080

8181
test('FlutterError captures if silent error but reportSilentFlutterErrors',
8282
() async {
8383
fixture.options.reportSilentFlutterErrors = true;
8484
_reportError(silent: true);
8585

86-
verify(await fixture.hub.captureEvent(captureAny!));
86+
verify(await fixture.hub.captureEvent(captureAny));
8787
});
8888

8989
test('FlutterError adds integration', () async {

flutter/test/mocks.dart

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import 'package:mockito/mockito.dart';
1+
import 'package:mockito/annotations.dart';
22
import 'package:sentry/sentry.dart';
33

4-
class MockHub extends Mock implements Hub {}
5-
6-
class MockTransport extends Mock implements Transport {}
7-
84
const fakeDsn = 'https://[email protected]/1234567';
5+
6+
@GenerateMocks([Hub, Transport])
7+
void main() {}

flutter/test/mocks.mocks.dart

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
// Mocks generated by Mockito 5.0.0-nullsafety.7 from annotations
2+
// in sentry_flutter/test/mocks.dart.
3+
// Do not manually edit this file.
4+
5+
import 'dart:async' as _i4;
6+
7+
import 'package:mockito/mockito.dart' as _i1;
8+
import 'package:sentry/src/hub.dart' as _i3;
9+
import 'package:sentry/src/protocol/breadcrumb.dart' as _i7;
10+
import 'package:sentry/src/protocol/sentry_event.dart' as _i5;
11+
import 'package:sentry/src/protocol/sentry_id.dart' as _i2;
12+
import 'package:sentry/src/protocol/sentry_level.dart' as _i6;
13+
import 'package:sentry/src/sentry_client.dart' as _i8;
14+
import 'package:sentry/src/transport/transport.dart' as _i9;
15+
16+
// ignore_for_file: comment_references
17+
// ignore_for_file: unnecessary_parenthesis
18+
19+
class _FakeSentryId extends _i1.Fake implements _i2.SentryId {}
20+
21+
class _FakeHub extends _i1.Fake implements _i3.Hub {}
22+
23+
/// A class which mocks [Hub].
24+
///
25+
/// See the documentation for Mockito's code generation for more information.
26+
class MockHub extends _i1.Mock implements _i3.Hub {
27+
MockHub() {
28+
_i1.throwOnMissingStub(this);
29+
}
30+
31+
@override
32+
bool get isEnabled =>
33+
(super.noSuchMethod(Invocation.getter(#isEnabled), returnValue: false)
34+
as bool);
35+
@override
36+
_i2.SentryId get lastEventId =>
37+
(super.noSuchMethod(Invocation.getter(#lastEventId),
38+
returnValue: _FakeSentryId()) as _i2.SentryId);
39+
@override
40+
_i4.Future<_i2.SentryId> captureEvent(_i5.SentryEvent? event,
41+
{dynamic stackTrace, dynamic hint}) =>
42+
(super.noSuchMethod(
43+
Invocation.method(
44+
#captureEvent, [event], {#stackTrace: stackTrace, #hint: hint}),
45+
returnValue:
46+
Future.value(_FakeSentryId())) as _i4.Future<_i2.SentryId>);
47+
@override
48+
_i4.Future<_i2.SentryId> captureException(dynamic throwable,
49+
{dynamic stackTrace, dynamic hint}) =>
50+
(super.noSuchMethod(
51+
Invocation.method(#captureException, [throwable],
52+
{#stackTrace: stackTrace, #hint: hint}),
53+
returnValue: Future.value(_FakeSentryId()))
54+
as _i4.Future<_i2.SentryId>);
55+
@override
56+
_i4.Future<_i2.SentryId> captureMessage(String? message,
57+
{_i6.SentryLevel? level,
58+
String? template,
59+
List<dynamic>? params,
60+
dynamic hint}) =>
61+
(super.noSuchMethod(
62+
Invocation.method(#captureMessage, [
63+
message
64+
], {
65+
#level: level,
66+
#template: template,
67+
#params: params,
68+
#hint: hint
69+
}),
70+
returnValue: Future.value(_FakeSentryId()))
71+
as _i4.Future<_i2.SentryId>);
72+
@override
73+
void addBreadcrumb(_i7.Breadcrumb? crumb, {dynamic hint}) => super
74+
.noSuchMethod(Invocation.method(#addBreadcrumb, [crumb], {#hint: hint}),
75+
returnValueForMissingStub: null);
76+
@override
77+
void bindClient(_i8.SentryClient? client) =>
78+
super.noSuchMethod(Invocation.method(#bindClient, [client]),
79+
returnValueForMissingStub: null);
80+
@override
81+
_i3.Hub clone() => (super.noSuchMethod(Invocation.method(#clone, []),
82+
returnValue: _FakeHub()) as _i3.Hub);
83+
@override
84+
void configureScope(_i3.ScopeCallback? callback) =>
85+
super.noSuchMethod(Invocation.method(#configureScope, [callback]),
86+
returnValueForMissingStub: null);
87+
}
88+
89+
/// A class which mocks [Transport].
90+
///
91+
/// See the documentation for Mockito's code generation for more information.
92+
class MockTransport extends _i1.Mock implements _i9.Transport {
93+
MockTransport() {
94+
_i1.throwOnMissingStub(this);
95+
}
96+
97+
@override
98+
_i4.Future<_i2.SentryId> send(_i5.SentryEvent? event) => (super.noSuchMethod(
99+
Invocation.method(#send, [event]),
100+
returnValue: Future.value(_FakeSentryId())) as _i4.Future<_i2.SentryId>);
101+
}

flutter/test/not_initialized_widgets_binding_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import 'package:flutter_test/flutter_test.dart';
22
import 'package:sentry_flutter/sentry_flutter.dart';
33
import 'package:sentry_flutter/src/sentry_flutter_options.dart';
44

5-
import 'mocks.dart';
5+
import 'mocks.mocks.dart';
66

77
/// Tests that require `WidgetsFlutterBinding.ensureInitialized();` not
88
/// being called at all.

flutter/test/sentry_flutter_test.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import 'package:sentry/sentry.dart';
66
import 'package:sentry_flutter/sentry_flutter.dart';
77

88
import 'mocks.dart';
9+
import 'mocks.mocks.dart';
910
import 'sentry_flutter_util.dart';
1011

1112
void main() {
@@ -73,7 +74,7 @@ void main() {
7374
await Sentry.captureMessage('a message');
7475

7576
final event =
76-
verify(transport.send(captureAny!)).captured.first as SentryEvent;
77+
verify(transport.send(captureAny)).captured.first as SentryEvent;
7778

7879
expect(event.sdk!.integrations.length, 7);
7980
expect(event.sdk!.integrations.contains('loadContextsIntegration'), true);
@@ -92,7 +93,7 @@ void main() {
9293
await Sentry.captureMessage('a message');
9394

9495
final event =
95-
verify(transport.send(captureAny!)).captured.first as SentryEvent;
96+
verify(transport.send(captureAny)).captured.first as SentryEvent;
9697

9798
expect(event.sdk!.integrations.length, 6);
9899
expect(event.sdk!.integrations.contains('loadContextsIntegration'), false);
@@ -112,7 +113,7 @@ void main() {
112113
await Sentry.captureMessage('a message');
113114

114115
final event =
115-
verify(transport.send(captureAny!)).captured.first as SentryEvent;
116+
verify(transport.send(captureAny)).captured.first as SentryEvent;
116117

117118
expect(event.sdk!.integrations.length, 6);
118119
expect(event.sdk!.integrations.contains('loadAndroidImageListIntegration'),

flutter/test/sentry_navigator_observer_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import 'package:flutter_test/flutter_test.dart';
33
import 'package:mockito/mockito.dart';
44
import 'package:sentry_flutter/sentry_flutter.dart';
55

6-
import 'mocks.dart';
6+
import 'mocks.mocks.dart';
77

88
void main() {
99
group('RouteObserverBreadcrumb', () {

flutter/test/widgets_binding_observer_test.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import 'package:sentry_flutter/sentry_flutter.dart';
66
import 'package:sentry_flutter/src/sentry_flutter_options.dart';
77
import 'package:sentry_flutter/src/widgets_binding_observer.dart';
88

9-
import 'mocks.dart';
9+
import 'mocks.mocks.dart';
1010

1111
void main() {
1212
group('WidgetsBindingObserver', () {

0 commit comments

Comments
 (0)