Skip to content

verifyNoMoreInteractions shouldn't error out on Mock of FunctionΒ #277

Open
@hopeman15

Description

@hopeman15

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 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);
  });
}

Thanks for your time and keep up the good work πŸš€

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3A lower priority bug or feature request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions