小编Rar*_*eat的帖子

如何模拟未来的方法而不获取类型“Null”不是颤振中类型“Future<>”的子类型

我想模拟这个类和这个特定的方法

class FeedApiService extends ApiService {
  Future<FeedResponse> fetchFeed(Map<String, String> params) async {
    ...
  }
  ...
}
Run Code Online (Sandbox Code Playgroud)

我的单元测试是这样的

class FeedApiServiceMock extends Mock implements FeedApiService {}
void main() {
  test('..', () {
    FeedApiServiceMock feedApiServiceMock = FeedApiServiceMock();
    when(feedApiServiceMock.fetchFeed({})).thenAnswer(
        (_) => Future.value(FeedResponse(items: 1)),
      );
    expect(await feedApiServiceMock.fetchFeed({}).items, 1);
  });
}
Run Code Online (Sandbox Code Playgroud)

我只想看到 fetch feed 被正确模拟,但我收到此错误:

type 'Null' is not a subtype of type 'Future<FeedResponse>'
Run Code Online (Sandbox Code Playgroud)

unit-testing mocking mockito dart flutter

6
推荐指数
1
解决办法
2109
查看次数

标签 统计

dart ×1

flutter ×1

mocking ×1

mockito ×1

unit-testing ×1