React 数据输入测试驱动开发指南
1. 测试中的空值检查
在测试中,对于空值检查存在不同观点。一种观点认为检查空值是多余的,可以完全去除。例如,原本的测试代码:
it('renders a label for the first name field', () => {
render();
expect(labelFor('firstName')).not.toBeNull();
expect(labelFor('firstName').textContent).toEqual('First name');
});
可以简化为:
it('renders a label for the first name field', () => {
render();
expect(labelFor('firstName').textContent).toEqual('First name');
});
在原始测试中,第一个非空期望是一个保护期望。即使没有这一行,测试仍然可以正常工作,因为如果 label 的值为 null ,第二个期望会抛出异常。两种测试变体的运行时差异很微妙。原始测试会以测试失败结束,而不是抛出异常;简化后的版本会以异常结束,而不是测试失败。在某些语言和测试环境中,异常可能比测试失败更麻烦。最终选择哪种风格取决于个人偏好。
超级会员免费看
订阅专栏 解锁全文
4333

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



