Javascript日期在Karma测试中给出了错误的时区

时间:2017-07-18 14:34:17

标签: javascript docker gulp timezone phusion

在Docker镜像重建之后,我开始遇到javascript时区问题。它曾经工作,但在Docker镜像更新后,不知何故,生成的Date对象不再遵循TZ设置。结果,我们的时区依赖日期字符串格式化测试失败。

gulp.task('test', ['_set_tpe_timezone'], runKarmaWebpackTests);
gulp.task('_set_tpe_timezone', function() {
  gutil.log('Setting timezone TZ = Asia/Taipei');
  process.env.TZ = 'Asia/Taipei';
  return;
});

gulpfile.js

process.env.TZ = 'Asia/Taipei';

我使用以下设置来运行javascript测试:

  • Gulp + Karma
  • 在Docker容器内
  • 在gulpfile中,在每次测试前执行以下设置 cat /etc/timezone
  • 使用无头Chrome 59
  • Etc/UTC = httr

1 个答案:

答案 0 :(得分:0)

虽然尚未找到根本原因,但找到了解决方案。由于此问题之前未出现,但仅在docker system prune -a之后,基本映像已更新为最新版本,这会引入此错误。

作为临时解决方案,我已切换回旧的基本图像,它像以前一样工作,无需其他修改。我还要向幻觉小组报告这个问题。

原始Dockerfile

FROM phusion/baseimage
...

新的Dockerfile

FROM phusion/baseimage:0.9.21
...