Travis CI 是一款流行的持续集成服务,它与您的 Github 仓库集成,以便在代码推送时自动运行您的测试。集成是通过在项目根目录添加一个简单的 YAML 文件来完成的;Travis 和 Github 会处理其余的事情。每次测试时,Travis 结果都会出现在您的 Github 拉取请求中,并且您的历史记录将在其控制面板中可用。本文假设您已经拥有 Travis 帐户。
在您的项目根目录中创建一个名为 .travis.yml
的文件,其中包含以下 YAML 内容
language: node_js
node_js:
- "4"
如果您在项目根目录中还没有 package.json
,请立即创建一个。Travis 运行 npm test
来触发您的测试,所以在这里您告诉 Travis 如何运行您的测试。
// ...snip...
"devDependencies": {
"karma": "~0.12"
},
// ...snip...
"scripts": {
"test": "karma start --single-run --browsers PhantomJS"
}
// ...snip...
Travis 会在每个套件之前运行 npm install
,所以这是您指定应用程序需要的任何 Travis 不了解的模块(如 Karma)的机会。
Travis 支持使用虚拟屏幕运行真实的浏览器(Firefox)。只需更新您的 .travis.yml
以设置虚拟屏幕,如下所示(如果您使用的是 Xenial)
language: node_js
node_js:
- "4"
dist: xenial
services:
- xvfb
或者这个,对于 Trusty 及以下版本
language: node_js
node_js:
- "4"
before_script:
- export DISPLAY=:99.0
- sh -e /etc/init.d/xvfb start
现在,您可以在 Firefox 上运行您的测试,只需将 npm test
命令更改为
karma start --browsers Firefox --single-run