前言
哈喽,大家好,我是海怪。
相信很多前端开发在写单测的时候,最大的问题就是:“我应该测什么东西?” 没错,解决问题不是最难的,发现问题才是!知道要测哪个远比怎么测重要很多!
今天看了 Kent 博客的 《How to know what to test》 的这篇博客,感觉醍醐灌顶,今天就把这篇博文也分享给大家。
正片开始
知道如何做测试很好,也很重要的。我之前就教过很多人测试的基础知识、如何配置工具、如何针对不用情况写好测试,等等。但是知道如何测试只是成功的一半,知道要测什么才是更重要的另一半。
永远记住为什么我们要测试
我们写测试是因为要确保我们的应用程序在用户使用它们时能够正常工作。 有些人可能会用测试用例来提高工作流的效率,但我对提高代码信心更有兴趣,即:我们的测试应该能直接增强我们的代码信心。这也是我希望你在编写测试时要考虑的重点:
别太纠结于正在测试的代码,而要多考虑这些代码能够支持的真实用例。
如果你只考虑代码本身,很容易、也很自然地走向测试代码细节的不归路。我们应该要考虑那些更接近用户的真实使用场景来写测试。
Code Coverage < Use Case Coverage
在做测试时,代码覆盖率是表示我们的代码有多行被执行的一个指标。举下面这个例子:
function arrayify(maybeArray) {
if (Array.isArray(maybeArray)) {
return maybeArray
} else if (!maybeArray) {
return []
} else {
return [maybeArray]
}
}<