Rob*_*ten 7 async-await flutter bloc-test
我的 Flutter 代码中有这个 bloc_test
blocTest<ProjectsBloc, ProjectsState>(
'emits [ProjectsState.loading(), ProjectsState.succes([])] with empty projects',
build: () => projectsBloc,
act: (bloc) => bloc.add(const ProjectsEvent.fetchProjects()),
wait: const Duration(milliseconds: 2000),
expect: () => [
const ProjectsState.loading(),
const ProjectsState.succes([]),
],
);
Run Code Online (Sandbox Code Playgroud)
如果我不使用等待选项,测试将失败,因为 act 事件将花费 1 秒。使用 wait 我可以确保我们等待足够长的时间,这样测试就可以了。这看起来有点不确定..所以我的问题是,有没有办法删除等待选项并简单地等待直到处理给定的事件?
我遇到了同样的问题,我没有通过 bloc 找到解决方案,但我能够修改我的代码以这种方式定位它,并且它允许我的测试通过。
final product = await _addProductUseCase.retrieveProduct(param);
final photo = await _addProductUseCase.retrieveProductPhoto(param);
Run Code Online (Sandbox Code Playgroud)
final futures = await Future.wait([
_addProductUseCase.retrieveProduct(param),
_addProductUseCase.retrieveProductPhoto(param),
]);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1969 次 |
最近记录: |