繁体   English   中英

如何在小部件测试中验证 Flutter Bloc 添加事件?

[英]How to verify Flutter Bloc added event in widget test?

我有一个按钮,按下时会向块中添加一个事件,如下所示:

ElevatedButton(
  onPressed: () {
    context.read<MyBloc>().add(MyEvent());
  },
  child: ...,
);

然后,我想创建一个小部件测试场景,可以验证 bloc 是否添加了真实事件。 我像这样创建了模拟 class :

class MockMyBloc extends MockBloc<MyEvent, MyState>
    implements MyBloc {}

class FakeMyEvent extends Fake implements MyEvent {}

class FakeMyState extends Fake implements MyState {}

但是,当我验证(使用mocktail )将事件添加到 bloc 时,结果是“没有匹配的调用”

verify(() => mockMyBloc.add(MyEvent())); // No matching calls

我如何验证 bloc 是否添加了真实事件? 先感谢您!

verify(() => mockMyBloc.add(MyEvent())); 看起来正确。 仔细检查您在测试期间是否点击了ElevatedButton 此外,请确保在您的测试中为您的小部件提供了MockMyBloc块,并且MyEvent扩展Equatable以便MyEvent的实例等于MyEvent的另一个实例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM