【发布时间】:2020-02-24 19:20:54
【问题描述】:
我使用 Jest 快照为我的测试流设置了 CircleCI 管道,但我的一个快照测试一直失败。我使用 Javascript 生成日期对象 (new Date("YYYY-MM-DD")) 并在本地生成 MM/DD/YYYY,但在 docker 映像 (node:8) 中生成 YYYY-MM-DD,因此快照测试失败。我尝试通过以下方式设置语言环境:
docker:
- image: circleci/node:8
environment:
TZ: "America/Los_Angeles"
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
LC_ALL: en_US.UTF-8
但它抱怨它无法设置默认语言环境,所以我添加了:
- run:
name: Reconfigure Locale
command: sudo dpkg-reconfigure locales
对于大多数有同样问题但不是我的情况的人来说,这似乎是一个解决方案。
我还尝试使用相同的本地 docker 映像并在那里对其进行测试,并且使用以下命令可以正常工作:
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8
所以我在 circleci 和 sed 命令中尝试了这些,即使使用 sudo 调用它也会抱怨权限。
【问题讨论】:
标签: docker jestjs circleci-2.0