繁体   English   中英

Flutter Dartz bloc 测试参数类型不可分配问题

[英]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 使用RightLeft类来访问实际类型。 只需将postEntityList更改为Right(postEntityList)

when(() => mockRepository.getPosts())
              .thenAnswer((_) async => Right(postEntityList));

暂无
暂无

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

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