Android - 单元测试本地化

时间:2010-11-17 19:43:04

标签: android unit-testing localization

据我所知,无法从特定区域设置的语言文件中加载字符串。

我想要做的是通过单元测试运行我的所有语言环境(我有24个)时间格式字符串,以确保它们不会崩溃。例如,这是一个法语日期格式字符串:“'Hierà'h:mm a”。

这些确实需要进行单元测试,因为翻译人员不能正确转义这些字符串,导致崩溃,除非我们每次获得翻译回传时都会手动验证每种语言的每个字符串。

This question有一个答案。这真的是唯一的方法吗?有没有更好的方法在单元测试中指定Context的语言环境?

2 个答案:

答案 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");
}