在Buildkite中运行测试时,西班牙语中的一个月大写,但是在我的开发环境中却不这样

问题描述

我有一个测试在buildkite中开始失败...

 Failure/Error: it { is_expected.to eq('Del 17 al 23 de febrero de 2019 (7 días)') }
 
       expected: "Del 17 al 23 de febrero de 2019 (7 días)"
            got: "Del 17 al 23 de Febrero de 2019 (7 días)"

请注意,“ febrero”在所有小写字母中均应使用,但应大写。用此代码生成有问题的字符串...

  let(:view) { ApplicationController.helpers }
  
  # ...

  view.l(payslip.end_date,format: '%e de %B de %Y',locale: 'es')

该测试仍在我的开发环境中进行。以前,它还可以在buildkite中使用,并且在开始失败时没有更改任何相关代码。此外,如果重试buildkite测试失败,则有时可以正常工作。

对可能发生的事情有任何想法吗?

解决方法

您是否检查过语言环境设置?似乎在两次测试之间切换了语言环境设置。因此,根据测试运行的顺序,语言环境可能是您在Buildkite上所需要的,也可能不是。您在本地计算机上的语言环境设置可能与测试相同。这就是为什么测试可以在本地计算机上正常运行但不能在Buildkite上运行的原因

,

问题是我们使用了ice_cube gemit modifies the translation strings

我们使用了markedmondson's comment in the GitHub issue链接的fork修复了该问题。