java - 更改 junit 测试的默认语言环境

标签 java junit internationalization

如何更改 JUnit 测试的默认语言环境。当前语言环境是 en。我想测试 es_ES。 我试过了:

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

但这似乎行不通。

最佳答案

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

Sets the default locale for this instance of the Java Virtual Machine. This does not affect the host locale.

Locale.setDefault(new Locale("es", "ES"));

使用以下资源文件进行测试:

  • 测试.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 测试用例。

关于java - 更改 junit 测试的默认语言环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27325382/

相关文章:

java - vector 的无效参数类型

java - 将自定义 Java 对象发送到 Kafka 主题

java - 如何在类级别重复 JUnit5 测试?

java - 如何保持 Java 属性文件可读

Angular 5 国际化

java - Flink 原始和托管声明。何时使用它们?

java - 强制 spring RestTemplate 将纯文本处理为 JSON?

Django i18n 不起作用

java - 自动将测试从 JUnit 3 迁移到 JUnit 4 的最佳方法?

java - 在 Maven 中运行 JUnit 测试时出现 ClassNotFoundException