gpt4 book ai didi

node.js - Docker 中的 Node : npm test and exit

转载 作者:搜寻专家 更新时间:2023-10-31 23:36:24 26 4
gpt4 key购买 nike

我想在运行我的容器时使用“npm run test”作为覆盖命令来测试我的 Node docker 镜像。

我的 Dockerfile 是:

FROM node:alpine
WORKDIR /app
COPY ./package.json ./
RUN npm install
COPY ./ ./
CMD ["npm", "run", "start"]

“npm run test”命令应该在我的容器中运行并退出到终端(本地和 Travis CI),但测试运行卡在“运行所有测试套件”。等待输入。

我的 docker run 命令是:

docker run myimage npm run test -- --coverage

我也尝试过:

docker run myimage npm run test -- --forceExit

但是当测试运行时它们都不会退出(无论是在本地还是在 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);
});

测试结束后自动退出怎么办?

最佳答案

发现docker run命令应该包含-e CI=true才能立即退出:

docker run -e CI=true myimage npm run test

来自关于“CI=true”的 React 文档:

The test command will force Test to run in CI-mode, and tests will only run once instead of launching the watcher.

关于node.js - Docker 中的 Node : npm test and exit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55926939/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com