最近给 skeleton 插件加上了测试用例,顺便使用了下自动集成工具。

ava

首先配置基本参数:

// package.json

"ava": {
    "concurrency": 5,
    "failFast": true,
    "files": [
      "test/*.test.js"
    ],
    "require": [
      "babel-register"
    ]
}

使用方法也很简单:

import test from 'ava';
test('it should run successfully', async t => {
    let {stats, errors} = webpackBuildStats;
    t.falsy(stats.hasWarnings() && errors.hasWarnings());
});

运行时除了会输出测试用例结果,还会输出一张代码覆盖率表格,并标出未覆盖的代码行号。 测试代码覆盖率其实很有用,出现很低的覆盖率要么是代码本身问题,要么是测试用例覆盖不全。

travis ci

使用持续集成工具,每次提交时自动运行测试脚本。

首先需要有项目的owner权限,授权给travis。

然后在配置文件中我们可以:

//.travis.yml

language: node_js
node_js:
  - "4"
  - "5"
  - "6"
install:
  - npm install
script:
  - npm test

完成后就可以在README.md里加上build图标了。