如何测试

单元测试

为什么大家都需要单元测试?

  • 代码质量持续有保障
  • 重构正确性保障
  • 增强自信心
  • 自动化运行

测试框架

mocha

mocha的功能丰富 支持在node环境和浏览器环境下运行 异步的支持也很友好

断言库

assert

使用简单 反馈信息明确

should.js

链式操作 功能强大

开始实践

全局安装mocha

1
npm install mocha -g

也可以选择安装在项目中

1
npm install macha -s

mocha会对你test文件夹下的js文件进行测试
项目目录

一个例子

1
2
3
4
5
6
7
8
9
10
11
// 引入需要的依赖 这里的断言库选择assert
var assert = require('assert')
// describe 代表你要对哪个对象的哪个方法进行测试 可以嵌套
describe('Array', function() {
describe('#indexOf()', function() {
// it 代表测试的具体case
it('should return -1 when the value is not present', function() {
assert.equal(-1, [1, 2, 3].indexOf(0))
})
})
})

在浏览器中进行测试

karam

安装依赖

初始化测试

1
karam init

具体参数设置查询karam官网

集成测试

持续集成指的是,频繁地(一天多次)将代码集成到主干。

  • 快速发现错误。每完成一点更新,就集成到主干,可以快速发现错误,定位错误也比较容易。
  • 防止分支大幅偏离主干。如果不是经常集成,主干又在不断更新,会导致以后集成的难度变大,甚至难以集成。

Travis CI

github上的项目 你托管在github上的项目可以使用它来进行集成测试
Travis CI

登陆你的github账号

开启对项目的检测

这样你在push request代码的时候Travis CI会对项目进行自动的集成测试

项目目录

总结

编写测试是一个很好的习惯

  • 有助于我们理清代码的思路
  • 维护我们的代码质量
  • 提高开发效率