Ser*_*nho 7 angular-cli bitbucket-pipelines angular
我正在尝试使用以下配置在bitbucket平台上运行测试:
image: node:6.8.0
pipelines:
default:
- step:
script:
- echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' > /etc/apt/sources.list.d/chrome.list
- wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -
- set -x && apt-get update && apt-get install -y xvfb google-chrome-stable
- ln -sf /usr/bin/xvfb-chrome /usr/bin/google-chrome
- npm --version
- npm install
- npm test
Run Code Online (Sandbox Code Playgroud)
那是输出:
> ng test
Could not start watchman; falling back to NodeWatcher for file system events.
Visit http://ember-cli.com/user-guide/#watchman for more info.
13 10 2016 15:26:57.937:WARN [karma]: No captured browser, open http://localhost:9876/
WARNING in ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js
45:15 Critical dependency: the request of a dependency is an expression
WARNING in ./~/@angular/core/src/linker/system_js_ng_module_factory_loader.js
57:15 Critical dependency: the request of a dependency is an expression
13 10 2016 15:26:57.945:INFO [karma]: Karma v1.2.0 server started at http://localhost:9876/
13 10 2016 15:26:57.946:INFO [launcher]: Launching browser Chrome with unlimited concurrency
13 10 2016 15:26:58.033:INFO [launcher]: Starting browser Chrome
13 10 2016 15:26:58.421:ERROR [launcher]: Cannot start Chrome
13 10 2016 15:26:58.532:INFO [launcher]: Trying to start Chrome again (1/2).
13 10 2016 15:26:58.813:ERROR [launcher]: Cannot start Chrome
13 10 2016 15:26:58.814:INFO [launcher]: Trying to start Chrome again (2/2).
13 10 2016 15:26:59.049:ERROR [launcher]: Cannot start Chrome
13 10 2016 15:26:59.050:ERROR [launcher]: Chrome failed 2 times (cannot start). Giving up.
Run Code Online (Sandbox Code Playgroud)
问题是业力无法启动Chrome浏览器.我认为任何码头环境都会出现问题.如何在bitbucket管道中运行测试?
尝试将您的测试切换到 PhantomJS。
安装 PhantomJS Runner https://github.com/karma-runner/karma-phantomjs-launcher
$ npm install --save-dev karma-phantomjs-launcher
编辑您karma.conf.js以使用 PhantomJS
// /karma.conf.js
module.exports = function (config) {
config.set({
// ...
plugins: [
// ...
require('karma-phantomjs-launcher'),
// ...
],
// ...
// browsers: ['Chrome'],
browsers: ['PhantomJS'],
phantomjsLauncher: {
// Have phantomjs exit if a ResourceError is encountered
// (useful if karma exits without killing phantom)
exitOnResourceError: true // Could require proxy if tests access images without /base path
},
//...
});
};
Run Code Online (Sandbox Code Playgroud)
现在应该在 PhantomJS 而不是 Chrome 中运行您的测试。
默认测试脚本也运行 watch,因此您可能希望将package.json测试脚本修改为"test": "ng test --watch=false". 如果你想让 watch run 用于本地开发,只需启动ng test而不是npm test.
尝试依赖此图像:
https://github.com/mark-adams/docker-chromium-xvfb
| 归档时间: |
|
| 查看次数: |
3322 次 |
| 最近记录: |