【发布时间】:2023-03-21 17:45:01
【问题描述】:
我创建了一个运行我的 Angular 项目的 docker 容器,现在我试图在容器内运行我的单元测试,但没有成功。我需要一个无头浏览器来运行我的测试,而 PhantomJS 对我来说太有问题了,在运行测试时也会给出不同的结果。
在这里,我提供我的 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,但它仍然需要一些我不知道该怎么做的更多配置。有人有什么想法吗?
【问题讨论】:
-
几个月前,我遇到了无头浏览器的问题,一些测试失败了,因为它无法将浏览器滚动到我试图查看它们是否存在的元素。如果您有一些测试失败,请记住这一点。无论如何,您为什么要运行 ng serve 而不是 ng test?
-
因为我稍后会运行“测试”命令
-
你是使用 Selenium webdriver for NodeJS 还是使用 protactor?
-
我正在使用预配置的业力运行测试,因为我使用的是 Angular CLI。我真的不知道这两个中的哪一个被使用了。怎么查?
标签: angular docker karma-jasmine