bar*_*o90 3 testing node.js npm docker
我想在运行容器时使用“ npm run test”作为覆盖的命令来测试节点docker映像。
我的Dockerfile是:
FROM node:alpine
WORKDIR /app
COPY ./package.json ./
RUN npm install
COPY ./ ./
CMD ["npm", "run", "start"]
Run Code Online (Sandbox Code Playgroud)
“ npm run test”命令应该在我的容器中运行,并退出到终端(本地和Travis CI),但是测试运行被限制在“运行所有测试套件”。等待输入。
我的docker run命令是:
docker run myimage npm run test -- --coverage
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
docker run myimage npm run test -- --forceExit
Run Code Online (Sandbox Code Playgroud)
但是当测试运行时(在本地或在Travis CI中)都没有退出。
我的App.test.js文件是标准测试:
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App';
it('renders without crashing', () => {
const div = document.createElement('div');
ReactDOM.render(<App />, div);
ReactDOM.unmountComponentAtNode(div);
});
Run Code Online (Sandbox Code Playgroud)
如何完成测试后自动退出测试?
发现docker run命令应包含-e CI = true以立即退出:
docker run -e CI=true myimage npm run test
Run Code Online (Sandbox Code Playgroud)
从React文档中有关“ CI = true”的内容:
test命令将强制Test在CI模式下运行,并且测试仅运行一次,而不启动观察程序。
归档时间: |
|
查看次数: |
1035 次 |
最近记录: |