gpt4 book ai didi

testing - Flutter Mockito 验证传递给小部件的回调被调用

转载 作者:行者123 更新时间:2023-12-04 13:00:41 33 4
gpt4 key购买 nike

我有一个小部件,它接受一个回调,当按下按钮时会调用该回调。我正在尝试测试按钮是否正确调用了回调。

我试过 mock Function类(class):

class MockCallback extends Mock implements Function {
call() {}
}

然后将模拟类的实例传递给我的小部件并模拟点击:

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 中放了一条打印语句,我可以看到水龙头确实在调用它。

我如何验证在点击按钮时传递给我的小部件的回调是否被调用一次?

最佳答案

这就是我解决这个问题的方法。

class MockCallback {
int _callCounter = 0;
void call() {
_callCounter += 1;
}

bool called(int expected) => _callCounter == expected;
void reset() {
_callCounter = 0;
}
}
不需要mockito。

关于testing - Flutter Mockito 验证传递给小部件的回调被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58045775/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com