I've been using mockito for a while and haven't run into any issues until now. I have the following test checking if the function of my flutter widget was called, which works as expected. However while calling verifyNoMoreInteractions(testFunction); I always get the following error:
Invalid argument(s): verifyNoMoreInteractions must only be given a Mock object
As far as I can see the method is mocked, even the verify(testFunction.call(50)).called(2); works correctly. Any tips and or help would be greatly appreciated 👍
class MockFunction extends Mock implements Function {
void call(double param);
}
void main() {
void Function(double) testFunction;
setUp(() {
testFunction = MockFunction();
when(testFunction.call(any)).thenAnswer((_) {});
});
tearDown(() {
verifyNoMoreInteractions(testFunction);
});
testWidgets('test default slider', (WidgetTester tester) async {
const value = 15;
await tester.pumpWidget(
MaterialApp(
home: MyCustomSlider(
onChanged: testFunction,
value: value,
),
),
);
// test function was called
await tester.drag(find.byType(Slider), Offset(0.0, 0.0));
await tester.pumpAndSettle();
// onChange called twice, by tap and slide
verify(testFunction.call(50)).called(2);
});
}
Generally, Mockito is not designed to work on top-level functions. I'd be surprised if anything really works in the Mockito API given a class MockFunction extends Mock implements Function.
First off, thanks for dart mockito 🙏
I've been using
mockito
for a while and haven't run into any issues until now. I have the following test checking if the function of my flutter widget was called, which works as expected. However while callingverifyNoMoreInteractions(testFunction);
I always get the following error:As far as I can see the method is mocked, even the
verify(testFunction.call(50)).called(2);
works correctly. Any tips and or help would be greatly appreciated 👍Thanks for your time and keep up the good work 🚀