测试替身探索与实践
在软件开发中,测试是保证代码质量的重要环节。本文将深入探讨测试替身(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
超级会员免费看
订阅专栏 解锁全文
97

被折叠的 条评论
为什么被折叠?



