您可以使用@Rule进行此操作.这是规则的代码:
import org.joda.time.DateTimeZone;
import org.junit.rules.TestWatcher;
import org.junit.runner.Description;
public class UTCRule extends TestWatcher {
private DateTimeZone origDefault = DateTimeZone.getDefault();
@Override
protected void starting( Description description ) {
DateTimeZone.setDefault( DateTimeZone.UTC );
}
@Override
protected void finished( Description description ) {
DateTimeZone.setDefault( origDefault );
}
}
你可以使用这样的规则:
public class SomeTest {
@Rule
public UTCRule utcRule = new UTCRule();
....
}
这将在当前时区改变为UTC,在SomeTest中的每个测试执行之前,它将在每次测试后恢复默认的时区.
如果要检查几个时区,请使用如下规则:
import org.joda.time.DateTimeZone;
import org.junit.rules.