Rar*_*eat 6 unit-testing mocking mockito dart flutter
我想模拟这个类和这个特定的方法
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)
看看在测试和thenAnswer方法中添加异步是否可以解决问题。
void main() {
test('..', () async{
FeedApiServiceMock feedApiServiceMock = FeedApiServiceMock();
when(feedApiServiceMock.fetchFeed({})).thenAnswer(
(_) async=> Future.value(FeedResponse(items: 1)),
);
expect(await feedApiServiceMock.fetchFeed({}).items, 1);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2109 次 |
| 最近记录: |