Skip to content

Commit f4cd65b

Browse files
committed
When reporting an error with an unrevivable parameter, refer to the class-to-mock.
Fixes #540 PiperOrigin-RevId: 459824583
1 parent ddab011 commit f4cd65b

File tree

2 files changed

+28
-3
lines changed

2 files changed

+28
-3
lines changed

lib/src/builder.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1367,11 +1367,11 @@ class _MockClassInfo {
13671367
.code;
13681368
} on _ReviveException catch (e) {
13691369
final method = parameter.enclosingElement!;
1370-
final clazz = method.enclosingElement!;
13711370
throw InvalidMockitoAnnotationException(
13721371
'Mockito cannot generate a valid override for method '
1373-
"'${clazz.displayName}.${method.displayName}'; parameter "
1374-
"'${parameter.displayName}' causes a problem: ${e.message}");
1372+
"'${mockTarget.classElement.displayName}.${method.displayName}'; "
1373+
"parameter '${parameter.displayName}' causes a problem: "
1374+
'${e.message}');
13751375
}
13761376
}
13771377
});

test/builder/auto_mocks_test.dart

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -485,6 +485,31 @@ void main() {
485485
);
486486
});
487487

488+
test(
489+
'throws when given a parameter default value using a private type, and '
490+
'refers to the class-to-mock', () {
491+
_expectBuilderThrows(
492+
assets: {
493+
...annotationsAsset,
494+
...simpleTestAsset,
495+
'foo|lib/foo.dart': dedent(r'''
496+
class FooBase {
497+
void m([Bar a = const _Bar()]) {}
498+
}
499+
class Foo extends FooBase {}
500+
class Bar {}
501+
class _Bar implements Bar {
502+
const _Bar();
503+
}
504+
'''),
505+
},
506+
message: contains(
507+
"Mockito cannot generate a valid override for method 'Foo.m'; "
508+
"parameter 'a' causes a problem: default value has a private type: "
509+
'asset:foo/lib/foo.dart#_Bar'),
510+
);
511+
});
512+
488513
test(
489514
'throws when given a parameter default value using a private constructor',
490515
() {

0 commit comments

Comments
 (0)