前端测试

参考:掘金

为什么要进行单元测试?

  • 保证代码正确性
  • 放心进行重构
  • 驱动开发TDD
  • 实现自动化测试

测试驱动开发

它是一种测试先于编写代码的思想用于指导软件开发

TDD中侧重点偏向开发,通过测试用例来规范约束开发者编写出质量更高、bug更少的代码

行为驱动开发

行为驱动开发是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA和非技术人员或商业参与者之间的协作

BDD更加侧重设计,其要求在设计测试用例的时候对系统进行定义,倡导使用通用的语言将系统的行为描述出来,将系统设计和测试用例结合起来,从而以此为驱动进行开发工作。

断言库

所谓"断言",就是判断源码的实际执行结果与预期结果是否一致,如果不一致就抛出一个错误。

它是编写测试用例的关键。断言功能由断言库来实现,Mocha 本身不带断言库,所以必须先引入断言库

前端测试流

测试脚本

通常,测试脚本与所要测试的源码脚本同名,但是后缀名为.test.js(表示测试)或者.spec.js(表示规格)。

mocha

Mocha 测试用例主要包含下面几部分:

  1. describe 定义的测试套件(test suite),表示一组相关的测试。
  2. it 定义的测试用例(test case),表示一个单独的测试,是测试的最小单位。
  3. 测试代码
  4. 断言部分

Karma

可以监控一套文件的变换,并立即开始测试已保存的文件,用户无需离开文本编辑器。

如果要使用 karma 和 mocha 最好通过npm install karma-cli -g全局安装karma-cli

Travis.CI

提供的是持续集成服务(Continuous Integration,简称 CI)。它绑定 Github 上面的项目,只要有新的代码,就会自动抓取。然后,提供一个运行环境,执行测试,完成构建,还能部署到服务器。

上一篇:对Java中可变参数的理解


下一篇:Vue单元测试(Karma+Mocha+Chai)