持续集成
持续集成测试是一种针对项目每一次提交而执行的测试。
这里有两种主要的方式来执行它:一种是在开发者向中央仓库推送代码之前在他们的机器上执行,另一种是在每次推送之后在一台专用的CI服务器上执行。这两种技术都非常有效,同时它们都需要以只在命令行运行的方式执行测试。
命令行
我们已经看到一个使用命令行运行测试的例子,使用meteor npm run chimp-test
模式。
我们也可以使用一个针对Mocha的命令行驱动dispatch:mocha-phantomjs
在命令行中执行我们的标准测试。
添加和使用包,非常的简单:
meteor add dispatch:mocha-phantomjs
meteor test --once --driver-package dispatch:mocha-phantomjs
(--once
参数确保Meteor在测试执行完毕后结束进程)。
我们也可以添加命令至我们的package.json
文件,如这个test
脚本:
{
"scripts": {
"test": "meteor test --once --driver-package dispatch:mocha-phantomjs"
}
}
现在我们可以使用meteor npm test
来运行测试。
CircleCI
CircleCI是一个出色的持续集成服务,使我们在每次向例如GitHub的仓库push代码时运行测试(可能产生耗时)。使用我们在之前已经定义好的命令行测试,我们可以参照入门教程的标准并像这样使用circle.yml
文件:
machine:
node:
version: 0.10.43
dependencies:
override:
- curl https://install.meteor.com | /bin/sh
- npm install
checkout:
post:
- git submodule update --init