Flutter 中文文档:使用 Mockito 模拟依赖关系

本文介绍了如何在 Flutter 中使用 Mockito 模拟依赖,避免在单元测试中直接与 web 服务或数据库交互,提高测试效率和稳定性。通过添加 Mockito 依赖,创建模拟的 http.Client 实例,编写针对不同条件的测试,确保测试覆盖所有可能的情况。
摘要由CSDN通过智能技术生成

640?wx_fmt=jpeg

某些情况下,单元测试可能会依赖需要从线上 web 服务或数据库中获取数据的类。这样会带来一些不便,原因如下:

  • 访问线上服务或数据库会拖慢测试执行效率。

  • 原本可以通过的测试可能会失败,因为 web 服务或数据库可能会返回不符合预期的结果。这种情况被称作“flaky test”。

  • 使用线上 web 服务或数据库来测试很难覆盖全所有可能成功或失败的场景。

因此,最好不要依赖线上 web 服务或数据库,我们可以把这些依赖“模拟(mock)”出来。模拟(Mocks)允许我们仿造一个线上服务或数据库,并且可以根据条件返回特定结果。

通常来说,可以通过创建类的另一种实现来模拟(mock)这种依赖。类的另一种实现可以手写,也可以借助 Mockito 包,后者简单一些。

本篇教程介绍了 Mockito 包的基本用法,可以参考以下步骤:

使用步骤

1. 添加  mockito  和  test  依赖
2. 创建一个要测试的函数
3. 创建一个模拟了  http.Client  的测试文件
4. 给每一个条件写一个测试
5. 执行这些测试

更多信息可以查阅 Mockito package 的官方文档:https://pub.flutter-io.cn/packages/mockito。

1. 添加 package 依赖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值