[英]Flutter Dartz bloc test argument type not assignable issue
我正在使用 bloc_test 和 mockito 库编写 flutter 测试方法。 在调用 mocking 存储库 API 时,我遇到了奇怪的问题。 这可能是一个简单的修复,但我从最近几个小时开始尝试它:(。
类似的代码存在于其他公共存储库中,但在这里它不起作用。
when(() => mockRepository.getPosts())
.thenAnswer((_) async => Right(postEntityList));
getPosts 方法结构:
@override
Future<Either<Failure, List<PostEntity>>> getPosts() async {
}
基本的 blocTest 方法代码:
group('whenListen', () {
blocTest('verify posts bloc tests',
build: () {
when(() => mockRepository.getPosts())
.thenAnswer((_) async => postEntityList);
return postsBloc;
},
act: (PostsBloc postBloc) {
postBloc.getAllPostsUseCase();
},
expect: () => (isA<PostsInitial>()));
});
您没有以正确的方式使用它。 dartz
package 使用Right
或Left
类来访问实际类型。 只需将postEntityList
更改为Right(postEntityList)
when(() => mockRepository.getPosts())
.thenAnswer((_) async => Right(postEntityList));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.