我正在为Flask开发i18n库ICU(和PyICU)的接口。在我的测试套件中,我有一个测试,检查不同语言环境设置的输出。我遇到的问题是我的测试通过本地测试,而在他们也运行的TravisCI实例上,它们会失败。
原因? ICU的输出在两台机器上明显不同。在一个测试中,我使用意大利语语言环境dateformat
检查在Python it_IT
上执行dateformat的结果。本地结果是2010年12月12日,15:46:00'但是在TravisCI实例中,它的改变方式对我来说没有意义。见这里:
如您所见,生成的字符串类似,但添加了/
s。我不确定为什么会发生这种情况。任何想法?
更新10/28/2016
经过一系列测试以尝试重现travis实例上发生的不同日期格式输出后,我无法重现此问题。我尝试了以下方法:
通过在before_install
脚本中添加以下内容,在travis实例上显式设置区域设置:
sudo locale-gen" en_US.UTF-8"
sudo update-locale
sudo dpkg-reconfigure locales
我创建了一个ec2实例,Travis Trusty Tahr机器应该基于(see here),我尝试安装所需的一切并运行我的测试。 没有错误!
我尝试将我的开发机器语言环境设置为travis实例上设置的语言环境。再次,没有错误!。
我尝试了一个不同的语言环境,只是为了看看它是否与该特定语言环境有关,但又有另一种异常现象:
因此,此时似乎除语言环境设置之外的其他内容导致输出错误。