Mic*_*nes 14 javascript karma-runner docker
我最近将我的node.js应用程序移动到了docker镜像中,我想在图像中运行我的测试.我的mocha/node测试工作正常,但Karma测试涉及启动Chrome以运行测试,而Chrome未安装在容器中.
我该如何解决这个问题?
谷歌搜索"码头和业力"揭示了码头图像,但我找不到如何思考问题和最佳方法的说明.
Tom*_*Rup -4
使用PhantomJS而不是 Chrome。Karma 有PhantomJS 启动器。
PhantomJS 基于 Blink。
安装 PhantomJS:
npm karma-phantomjs-launcher --save-dev
Run Code Online (Sandbox Code Playgroud)
添加到 Karma 配置:
module.exports = function(config) {
config.set({
browsers : ['PhantomJS']
});
};
Run Code Online (Sandbox Code Playgroud)
编辑
这是od的一部分Dockerfile
ENV NODE_VERSION 0.12.7
ENV NPM_VERSION 3.5.1
ENV PHANTOM_JS phantomjs-1.9.8-linux-x86_64
# App and test
RUN set -x \
&& buildDeps='curl git bzip2 file libfreetype6 libfontconfig1 python-pip python-dev libpq-dev libmemcached-dev libzmq-dev libjpeg62-turbo-dev zlib1g-dev libtiff5-dev make g++ psmisc' \
&& apt-get update \
&& apt-get install -y $buildDeps --no-install-recommends \
&& rm -rf /var/lib/apt/lists/* \
&& curl -SLO "https://bitbucket.org/ariya/phantomjs/downloads/$PHANTOM_JS.tar.bz2" \
&& tar xvjf $PHANTOM_JS.tar.bz2 \
&& mv $PHANTOM_JS /usr/local/share \
&& ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" \
&& curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
&& gpg --verify SHASUMS256.txt.asc \
&& grep " node-v$NODE_VERSION-linux-x64.tar.gz\$" SHASUMS256.txt.asc | sha256sum -c - \
&& tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \
&& rm "node-v$NODE_VERSION-linux-x64.tar.gz" SHASUMS256.txt.asc \
&& npm install -g npm@"$NPM_VERSION" grunt-cli \
&& npm install \
&& npm cache clear \
&& ./node_modules/.bin/bower install --allow-root \
&& npm test \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -rf /usr/local/bin/node /usr/local/bin/npm /usr/local/include/node /usr/local/lib/node_modules \
&& rm -rf /usr/local/share/$PHANTOM_JS /usr/local/bin/phantomjs
Run Code Online (Sandbox Code Playgroud)
在本例中,Docker 制作了一层。在这一层
测试正在运行,但生产容器中没有 PhantomJS。
| 归档时间: |
|
| 查看次数: |
6457 次 |
| 最近记录: |