2014-12-05 121 views
7

如何更改JUnit测试的默认语言环境。当前区域设置是en。我想测试es_ES。 我想:更改junit测试的默认语言环境

System.setProperty("locale", "es_ES"); 

但这似乎并没有工作。

+0

是的,?你运行的是什么代码是语言环境相关的? – fge 2014-12-05 22:03:45

+0

我没有明确你的意思。我有一些需要检查的异常消息。我已经创建了一个单独的资源文件,但是,它没有链接.. – user3453784 2014-12-05 22:19:09

+0

Hmwell,也许在这种情况下,你想看看[这个项目](https://github.com/fge/msg-simple) ;它可以让你很容易地获得本地化的消息 – fge 2014-12-05 22:23:09

回答

16

您可以使用Locale.setDefault来设置默认Locale

设置此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")); 
} 

输出:

这应该适用于JUnit测试用例。

相关问题