use*_*784 12 java junit internationalization
如何更改JUnit测试的默认语言环境.当前的语言环境是en.我想测试es_ES.我试过了:
System.setProperty("locale", "es_ES");
Run Code Online (Sandbox Code Playgroud)
但这似乎不起作用.
rge*_*man 27
您可以设置默认Locale使用Locale.setDefault.
设置此Java虚拟机实例的缺省语言环境.这不会影响主机区域设置.
Locale.setDefault(new Locale("es", "ES"));
Run Code Online (Sandbox Code Playgroud)
使用以下资源文件进行测试:
test.properties
message=Yes
Run Code Online (Sandbox Code Playgroud)test_es_ES.properties
message=Sí
Run Code Online (Sandbox Code Playgroud)这是我的主要功能,没有更改我的默认语言环境(en_US):
public static void main(String[] args)
{
ResourceBundle test = ResourceBundle.getBundle("test");
System.out.println(test.getString("message"));
}
Run Code Online (Sandbox Code Playgroud)
输出:
Yes
Run Code Online (Sandbox Code Playgroud)
这是我的主要功能,更改了您的测试区域设置(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"));
}
Run Code Online (Sandbox Code Playgroud)
输出:
Sí
Run Code Online (Sandbox Code Playgroud)
应用于JUnit测试用例时,这应该有效.