在 Buildkite 中进行 运行 测试时,西班牙语中的月份大写,但在我的开发环境中却没有

Month in Spanish is capitalized when running test in Buildkite, but not in my development environment

我有一个测试在 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 gem and it modifies the translation strings

我们使用从 markedmondson's comment in the GitHub issue 链接的分支修复了它。