据我所知,无法从特定区域设置的语言文件中加载字符串。
我想要做的是通过单元测试运行我的所有语言环境(我有24个)时间格式字符串,以确保它们不会崩溃。例如,这是一个法语日期格式字符串:“'Hierà'h:mm a”。
这些确实需要进行单元测试,因为翻译人员不能正确转义这些字符串,导致崩溃,除非我们每次获得翻译回传时都会手动验证每种语言的每个字符串。
This question有一个答案。这真的是唯一的方法吗?有没有更好的方法在单元测试中指定Context的语言环境?
答案 0 :(得分:1)
您是否尝试过以下操作? Change language programmatically in Android
答案 1 :(得分:1)
Robolectric从v2.0 alpha 3支持此功能。请参见此处:
http://robolectric.blogspot.com/2013/05/robolectric-20-alpha-3.html
您需要做的就是为测试方法添加注释:
@Test @Config(qualifiers = "fr")
public void testGetValuesResFromSpecificQualifiers() {
assertThat(resources.getString(R.string.hello)).isEqualTo("Bonjour");
}