Измените язык/локаль приложения программно в Jetpack Compose во время тестирования инструментов/интерфейса на AndroidAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Измените язык/локаль приложения программно в Jetpack Compose во время тестирования инструментов/интерфейса на Android

Сообщение Anonymous »

Приложение поддерживает две локали. Во время тестирования инструментов или пользовательского интерфейса я хочу протестировать определенный язык (например, EN). Ссылаясь на 6629458, я сделал функцию смены локали в котлине:

Код: Выделить всё

private fun setLocale(language: String, country: String) {
val context = InstrumentationRegistry.getInstrumentation().context
val locale = Locale(language, country)
// here we update locale for date formatters
Locale.setDefault(locale)
// here we update locale for app resources
val res: Resources = context.getResources()
val config: Configuration = res.configuration
config.locale = locale
res.updateConfiguration(config, res.displayMetrics)
}
Его можно вызвать внутри тела функции UT-теста:

Код: Выделить всё

    @Test
fun uiTest () {

composeTestRule.setContent {
...
}

setLocale("en", "EN")

...
}
Однако языковой стандарт не установлен на английский, а зависит от настроек по умолчанию моего тестируемого устройства Android. Есть ли какая-нибудь подсказка по этому поводу (функция вызывается без ошибок, но языковой стандарт НЕ изменяется, как ожидалось)?
Также был опубликован еще один вопрос, но он не для тестирования пользовательского интерфейса.

Подробнее здесь: https://stackoverflow.com/questions/786 ... instrument
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»