language: node_js
node_js:
- "6"
- "5"
before_script:
script:
- npm test
- node benchmark/index.js
after_script:
默认情况下,Travis CI 会自动安装依赖并执行 npm test 命令,通过 script 字段可以自定义需要执行的命令,其完整的生命周期包括:
Install apt addons
before_install
install
before_script
script
after_success or after_failure
OPTIONAL before_deploy
OPTIONAL deploy
OPTIONAL after_deploy
after_script
基准测试
基准测试使用严谨的测试方法、测试工具或测试系统评估目标模块的性能,常用于观测软硬件环境发生变化后的性能表现,其结果具有可复现性。在 Node.js 环境中最常用的基准测试工具是 Benchmark.js ,安装方式:
npm install --save-dev benchmark
基本示例:
const Benchmark = require('benchmark');
const suite = new Benchmark.Suite;
suite.add('RegExp#test', function() {
/o/.test('Hello World!');
})
.add('String#indexOf', function() {
'Hello World!'.indexOf('o') > -1;
})
.on('cycle', function(event) {
console.log(String(event.target));
})
.on('complete', function() {
console.log('Fastest is ' + this.filter('fastest').map('name'));
})
// run async
.run({ 'async': true });
代码覆盖率
代码覆盖率工具根据测试用例覆盖的代码行数和分支数来判断模块的完整性。AVA 推荐使用 nyc 测试代码覆盖率,安装 nyc:
npm install nyc --save-dev
修改 .gitignore 忽略相关文件:
node_modules
coverage
.nyc_output
修改 package.json 中的 test 字段:
{
"scripts": {
"test": "nyc ava"
}
}
执行 npm test ,得到:
? test-in-action (master) ? npm test
> test-in-action@1.0.0 test /Users/sean/Desktop/test-in-action
> nyc ava
2 passed
----------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
----------|----------|----------|----------|----------|----------------|
----------|----------|----------|----------|----------|----------------|
All files | 100 | 100 | 100 | 100 | |
----------|----------|----------|----------|----------|----------------|
参考资料
原文转自: http://ourjs.com/detail/5738493888feaf2d031d24fa