我有一个小部件,它使用回调函数来响应按钮按下事件。我正在尝试测试回调是否被正确地调用。
我尝试模拟了一个Function
类:
class MockCallback extends Mock implements Function {
call() {}
}
然后将模拟类的实例传递给我的widget并模拟一个点击:
final mocked = MockCallback();
await tester.pumpWidget(
MyWidget(myCallback: mocked),
);
final clearButtonFinder = find.byType(IconButton);
await tester.tap(clearButtonFinder);
verify(mocked()).called(1);
这会导致在 verify
调用时出现错误,错误信息为 Used on a non-mockito object
。如果我在模拟的 call
内部加入打印语句,我能够看到点击确实触发了它。
当按钮被点击时,我该如何验证传递给我的小部件的回调只被调用一次?