所有测试均由 gradle 启动。我想为项目中的所有 JUnit 测试定义语言环境。一开始我想到了以下方法:
public class TestCases {
static Locale defaultLocale = Locale.getDefault();
@BeforeClass
public static void setDefaultLocale() {
Locale.setDefault(Locale.UK);
}
// here goes bunch of tests
// ...
@AfterClass
public static void restoreLocale() {
Locale.setDefault(defaultLocale);
}
}
但这太麻烦了,因为我有数百个文件要更改。我还发现使用-Duser.language=en
参数运行单个测试(我使用 Intellij)可以完成这项工作。但我无法更改 gradle 脚本以提供此解决方案。有没有办法通过 Spring 上下文为 JUnit 测试定义语言环境?或者也许还有其他更好的方法?谢谢。