关于前端测试
前端测试分为两类:
- 单元测试UT:其意义在于比较细粒度的去测试我们业务代码中写的function,测试function里提供的method是否可靠。
- e2e测试:端到端测试,利用一些工具库提供的API使用代码来模拟中断用户在UI界面上的操作,比如输入、点击等。常用selenium, puppeteer,phantom,protractor(angular), Nightwatch(Vue)等等。
关于单元测试
槽点
对业务页面内容做单元测试很麻烦,业务一动,所有的单元测试用例都要改动,尤其在业务逻辑繁琐的情况下,测试代码量可能是业务代码量的n倍优点
当项目由多人一起维护的时候,彼此不能了解对方的代码,发生改动的时候也不能及时规避其他地方不会出现bug的风险;即使参与维护维护的每个人水平都很高,彼此在了解前任的代码的基础上再去健壮了新的代码,但场次以往会使代码变的耦合性强,且显得十分冗余,并且对后人的能力要求很高,并且浪费精力。如果此时能将代码划分为最小的测试单元,我们就能检测到我们之前的逻辑是否受到影响。
小结
当出现如下情况需要考虑使用单元测试:
- 在编写公共类,需要被其他类调用的时候,我们需要确保该类可以实现我们要求的功能
- 在写公共组件,会被其他工程师在各个页面调用的时候
- 在开源项目里