测试框架:ava
简单测试
抄一个 Node.js 包教不包会 的例子:
var fibonacci = function (n) {
if (n === 0) {
return 0;
}
if (n === 1) {
return 1;
}
return fibonacci(n-1) + fibonacci(n-2);
};
if (require.main === module) {
// 如果是直接执行 main.js,则进入此处
// 如果 main.js 被其他文件 require,则此处不会执行。
var n = Number(process.argv[2]);
console.log('fibonacci(' + n + ') is', fibonacci(n));
}
exports.fibonacci = fibonacci;
简单测试一下:
[dongshaoshuai~/test] ]$node main.js 10
fibonacci(10) is 55
首先全局安装 ava:npm install ava -g
创建测试文件 main.test.js
:
import test from 'ava';
import {fibonacci} from './main.js';
test('main', t => {
// 断言
t.is(fibonacci(10), 55);
});
执行 ava main.test.js
:
[dongshaoshuai~/test] ]$ava main.test.js
1 passed
覆盖率
安装 NYC npm install nyc -g
运行 nyc ava main.test.js
:
[dongshaoshuai~/test] ]$nyc ava main.test.js
1 passed
----------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
----------|----------|----------|----------|----------|----------------|
test/ | 80 | 83.33 | 100 | 80 | |
main.js | 80 | 83.33 | 100 | 80 | 18,19 |
-