在Eclipse上为各个测试设置时区

时间:2014-08-07 10:55:14

标签: java eclipse oracle testing junit

我正在为我的Hibernate DAO实现编写测试,因为我解释了here,当我使用Maven或带有Run as -> Maven test的Eclipse执行它们时它们运行良好。该应用程序使用Oracle,因此我必须定义TimeZone,并且我将Duser.timezone添加到pom文件中,如here所述。

问题是当我只想执行一个测试方法时,因为每个方法在Eclipse上都有自己的运行配置,并且将时区添加到每个配置的VM参数中是令人失望的。

我已尝试将System.setProperty("user.timezone", "UTC")TimeZone.setDefault(new SimpleTimeZone(...))添加到@beforeClass方法,但它不起作用。它显示错误ORA-01882: timezone region not found。我认为原因是@ContextConfiguration@beforeClass方法之前连接到数据库。

我找到了一种解决方法,即将其作为默认参数添加到VM。我是在Windows -> Preferences -> Installed JREs完成的。

你知道更好的方法吗?

1 个答案:

答案 0 :(得分:0)

好吧,如果你对使用数据库干预的@Configuration类是正确的,那么选择是在@Configuration类的静态块中执行System.setProperty。