gpt4 book ai didi

flutter - 在 Flutter 中使用 MockClient 进行测试时遇到问题

转载 作者:IT王子 更新时间:2023-10-29 06:34:20 24 4
gpt4 key购买 nike

我正在尝试使用 MockClient 在 flutter 中编写一个简单的测试,但我似乎无法让它工作。

这是我要测试的代码:

getItemById(int id) async {
final response = await client.get("$_host/item/$id.json");
final decodedJson = json.decode(response.body);

return Item.fromJson(decodedJson);
}

测试代码如下:

test("Test getting item by id", () async {
final newsApi = NewsAPI();
newsApi.client = MockClient((request) async {
final jsonMap = {'id': 123};
Response(json.encode(jsonMap), 200);
});

final item = await newsApi.getItemById(123);
print("Items: ${item.toString()}"); //<-- dosen't print anything.
expect(item.id , 123);
});

当我运行测试时,它失败并显示以下消息:

 NoSuchMethodError: The getter 'bodyBytes' was called on null.
Receiver: null
Tried calling: bodyBytes

我猜这里的问题是当我调用 getItemById 方法时 MockClient 没有返回任何内容,但我不确定为什么。

最佳答案

我遇到了完全相同的问题。您必须返回响应

return Response(json.encode(jsonMap), 200);

关于flutter - 在 Flutter 中使用 MockClient 进行测试时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54528656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com