9、测试替身探索与实践

测试替身探索与实践

在软件开发中,测试是保证代码质量的重要环节。本文将深入探讨测试替身(Test Doubles)的使用,包括模拟函数、替换全局变量、处理返回值以及错误处理等方面的内容。

1. Jest 匹配器基础

Jest 匹配器是测试中用于断言的重要工具。所有 Jest 匹配器必须返回一个包含 pass 属性(布尔值)和 message 属性(返回字符串的函数)的对象。例如:

expect(
  submitSpy.receivedArgument(0)[fieldName]
).toEqual('value');

对于包含条件语句的生产代码,通常需要两个测试用例来确保完全覆盖。简单的匹配器可能没有参数,但像 toEqual toMatch 这样的匹配器需要传入参数,这可能会导致代码中出现大量的 if 语句嵌套。

2. 模拟 fetch API

我们使用 fetch API 将客户数据发送到后端服务。当表单提交时,不再直接调用 onSubmit 属性,而是通过 fetch API 发送 POST 请求。如果请求成功,再调用 onSubmit 属性。

2.1 编写测试用例

test/Customer

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值