Skip to content

验证的目标

一部分开发者存在完美主义问题,在写单测的时候一直会担忧是否覆盖了可能存在的所有情况,因此就会花费很多时间,导致这部分开发者认为写单测是一件很麻烦很浪费时间的事

完美主义的存在大多是因为视角的错误而导致的,开发人员仅仅将视线集中在了函数上,而忽略了功能的目的性,于是就会为了追求函数的完备性去过分的测试可能的情况

而功能的目的性在于,函数的存在必然是为了实现某种功能,因此单测只需要抓住这个功能的目的,就可以去验证函数的完整性。而没必要去提前思考,这样只会过渡设计程序,造成时间的损失

例如对 isHttp 函数进行测试时,需要抓住函数的主要目的:是否是 http 请求

ts
test('http 的情况', () => {
    const url = 'http://www.baidu.com'
    expect(isHttp(url)).toBeTruthy()
})
test('https 的情况', () => {
    const url = 'https://www.baidu.com'
    expect(isHttp(url)).toBeFalsy()
})

而无须去考虑参数是否会是数字、数组等问题