运行 使用 PhantomJS 和 Travis 进行实习测试 CI
Running Intern tests using PhantomJS and Travis CI
上下文:
我正在 运行使用 Intern 框架进行一些单元测试。由于我正在测试的代码是我在 NPM 上发布的一个包,我想将它与 Travis 集成 CI.
在我的本地,所有测试 运行 都很好。但是,使用 Travis CI 时,测试会因为启动 PhantomJS 网络服务器而停止。
这是我的 Travis CI 文件:
language: node_js
node_js:
- "4"
env:
- CXX=g++-4.8
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
before_script:
- bower install
- npm install grunt-cli -g
- grunt installation
- phantomjs --webdriver=4444
因为 phantomjs
命令启动了一个网络服务器,它永远不会 运行s npm test
。它只是在网络服务器上停止。
问题:
如何才能在启动 PhantomJS 后 运行 npm test
?有什么方法可以将该进程移到后台,或者启动另一个进程来 运行 我的测试?或者有什么方法可以同时调用 phantomjs --webddriver=444
和 intern-runner config=tests/intern
吗?
由于 Travis CI 命令只是 shell 命令,您应该能够启动 phantomjs 然后继续 forking it:
- phantomjs --webdriver=4444 &
(注意末尾的符号。)
您可能还需要添加一个 sleep
来为进程提供启动时间,因为 PhantomJS 似乎没有办法在准备就绪时自行守护进程或访问 pid 文件。
还有许多其他脚本 and/or G运行t 任务可用于 运行 PhantomJS,但这应该是解决问题所需的最小更改。
上下文:
我正在 运行使用 Intern 框架进行一些单元测试。由于我正在测试的代码是我在 NPM 上发布的一个包,我想将它与 Travis 集成 CI.
在我的本地,所有测试 运行 都很好。但是,使用 Travis CI 时,测试会因为启动 PhantomJS 网络服务器而停止。
这是我的 Travis CI 文件:
language: node_js
node_js:
- "4"
env:
- CXX=g++-4.8
addons:
apt:
sources:
- ubuntu-toolchain-r-test
packages:
- g++-4.8
before_script:
- bower install
- npm install grunt-cli -g
- grunt installation
- phantomjs --webdriver=4444
因为 phantomjs
命令启动了一个网络服务器,它永远不会 运行s npm test
。它只是在网络服务器上停止。
问题:
如何才能在启动 PhantomJS 后 运行 npm test
?有什么方法可以将该进程移到后台,或者启动另一个进程来 运行 我的测试?或者有什么方法可以同时调用 phantomjs --webddriver=444
和 intern-runner config=tests/intern
吗?
由于 Travis CI 命令只是 shell 命令,您应该能够启动 phantomjs 然后继续 forking it:
- phantomjs --webdriver=4444 &
(注意末尾的符号。)
您可能还需要添加一个 sleep
来为进程提供启动时间,因为 PhantomJS 似乎没有办法在准备就绪时自行守护进程或访问 pid 文件。
还有许多其他脚本 and/or G运行t 任务可用于 运行 PhantomJS,但这应该是解决问题所需的最小更改。