gpt4 book ai didi

angular - 如何在 Docker 容器内运行单元测试

转载 作者:太空狗 更新时间:2023-10-29 18:30:52 25 4
gpt4 key购买 nike

我已经创建了一个运行我的 Angular 项目的 docker 容器,现在我试图在容器内运行我的单元测试失败。我需要一个 headless 浏览器来运行我的测试,而 PhantomJS 对我来说太麻烦了,在运行测试时,Chrome 也会给出不同的结果。

在这里,我提供我的 Dockerfile:

# download (or use if it's in cache) the latest official image from node
FROM node:latest

# create directory in the container and set all privileges
RUN mkdir -p /usr/src/app && chmod 777 /usr/src/app

# make the directory available for following commands
WORKDIR /usr/src/app

# copy all local's frontend content to the WORKDIR
COPY . /usr/src/app

# Expose the port the app runs in
EXPOSE 4200

CMD ["npm", "start"]

我尝试使用 Headless Chrome,但它仍然需要一些我不知道如何进行的配置。有人有什么想法吗?

最佳答案

经过大量调查,我找到了一种方法:

我在我的前端 Dockerfile 中安装了 Chrome:

RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
RUN echo 'deb http://dl.google.com/linux/chrome/deb/ stable main' >> /etc/apt/sources.list
RUN apt-get update && apt-get install --no-install-recommends -y google-chrome-stable

我使用 headless Chrome 进行测试,并在 karma.config 中进行了适当的配置:

browsers: ['Chrome_without_sandbox'],
customLaunchers: {
Chrome_without_sandbox: {
base: 'ChromeHeadless',
flags: ['--no-sandbox'] // with sandbox it fails under Docker
}
},

关于angular - 如何在 Docker 容器内运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45458468/

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