我正在努力建立一个码头化的硒网格。我可以通过附加到 pytest 容器 [见下文] 发送我的 python 测试 [使用 pytest 运行]。但是我已经设置了另一个 LAMP 容器来控制 pytest。所以我想让 pytest 容器独立运行,空闲并等待来自 LAMP 容器的命令。
我有这个 Dockerfile:
# Starting from base image
FROM ubuntu
#-----------------------------------------------------
# Set the Github personal token
ENV GH_TOKEN blablabla
# Install Python & pip
RUN apt-get update
RUN apt-get upgrade -y
RUN apt-get install -y python python-pip python-dev && pip install --upgrade pip
# Install nano for #debugging
RUN apt-get install -y nano
# Install xvfb
RUN apt-get install -y xvfb
# Install GIT
RUN apt-get update -y && apt-get install git -y
# [in the / folder]
RUN git clone https://$GH_TOKEN:x-oauth-basic@github.com/user/project.git /project
# Install dependencies via pip
WORKDIR /project
RUN pip install -r dependencies.txt
#-----------------------------------------------------
#
CMD ["/bin/bash"]
我用这个手动 [用于开发] 启动 pytest 容器:
docker run -dit -v /project --name pytest repo/user:py
问题是我完成了开发,我想从 docker-compose
启动 pytest 容器,并将它连接到其他容器 [带有链接和卷]。我就是无法熬夜。
我用这个:
pytest:
image: repo/user:py
volumes:
- "/project"
command: "/bin/bash tail -f /dev/null"
但没有用。
那么,在 Dockerfile 中,我应该使用特定的 CMD 还是 ENTRYPOINT ?
我应该使用 docker-compose
文件中的一些 command
吗?
原文由 Kostas Demiris 发布,翻译遵循 CC BY-SA 4.0 许可协议
我最近刚刚在我的一个项目中启用了它。我使用多阶段构建。目前,我将测试放在与源
test_*.py
相同的文件夹中。根据我的经验,这感觉不自然,我更喜欢将测试放在默认情况下排除的自己的文件夹中。为了将测试文件排除在覆盖范围之外。
.coveragerc
必须存在。test
目标运行所需的测试并生成覆盖率和执行报告。这些 不适 用于 Azure DevOps 和 SonarQube。为了让它适合运行测试