Как изменить языковой стандарт по умолчанию для теста JUnit. Текущий язык - ru. Я хочу проверить для es_ES. Я пробовал:изменить стандартную локаль для теста junit
System.setProperty("locale", "es_ES");
Но это не похоже на работу.
Как изменить языковой стандарт по умолчанию для теста JUnit. Текущий язык - ru. Я хочу проверить для es_ES. Я пробовал:изменить стандартную локаль для теста junit
System.setProperty("locale", "es_ES");
Но это не похоже на работу.
Вы можете установить по умолчанию Locale
с помощью Locale.setDefault
.
Устанавливает языковой стандарт по умолчанию для этого экземпляра виртуальной машины Java. Это не влияет на локализацию хоста.
Locale.setDefault(new Locale("es", "ES"));
Тестирование со следующими файлами ресурсов:
test.properties
message=Yes
test_es_ES.properties
message=Sí
Вот моя основная функция, без изменения моих региональных настроек по умолчанию (en_US):
public static void main(String[] args)
{
ResourceBundle test = ResourceBundle.getBundle("test");
System.out.println(test.getString("message"));
}
Выход:
Yes
Вот моя главная функция, с изменением в тестовой местность (es_ES):
public static void main(String[] args)
{
Locale.setDefault(new Locale("es", "ES"));
ResourceBundle test = ResourceBundle.getBundle("test");
System.out.println(test.getString("message"));
}
Выход:
Sí
Это должно работать при применении к тестовому корпусу JUnit.
Да, и? Какой код вы используете, зависящий от локали? – fge
Я не понял, что вы имели в виду. У меня есть несколько сообщений об исключениях, которые необходимо проверить. Я создал отдельный файл ресурсов, однако он не связан. – user3453784
Хмвелл, может быть, в этом случае вы хотите посмотреть [этот проект] (https://github.com/fge/msg-simple) ; он позволяет легко получать локализованные сообщения – fge