Android - модульное тестирование локализаций - PullRequest
0 голосов
/ 17 ноября 2010

Из того, что я могу сказать, нет способа загрузить строку из языкового файла конкретной локали.

Что я хочу сделать, так это запустить формат времени всех моих локалей (у меня их 24)проходит через модульные тесты, чтобы убедиться, что они не потерпят крах.Например, вот строка формата даты на французском языке: "'Hier à' h: mm a".

Они действительно должны быть проверены модулем, потому что переводчики не очень хорошо умеют правильно экранировать эти строки, вызывая сбоиесли мы вручную не проверяем каждую строку на каждом языке каждый раз, когда получаем перевод обратно.

Этот вопрос имеет своего рода ответ.Это действительно единственный способ?Есть ли лучший способ указать локаль контекста в модульных тестах?

Ответы [ 2 ]

1 голос
/ 31 июля 2013

Robolectric поддерживает это с версии 2.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");
}
1 голос
/ 18 ноября 2010

Вы пробовали следующее? Изменение языка программно в Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...