gpt4 book ai didi

spring - Spring Mock MVC 测试的时区

转载 作者:行者123 更新时间:2023-12-02 09:31:57 27 4
gpt4 key购买 nike

SpringMock MVC测试的时区如何设置?我们的 Spring Boot 应用程序都在运行

TimeZone.setDefault(TimeZone.getTimeZone("UTC"));

在应用程序启动时设置。但我发现没有办法为 MockMvcRequestBuilders 设置这个。手动设置(在测试或 BeforeClass 中)没有改变任何内容 = 仍然使用机器时区...

最佳答案

您可以使用 @Configuration 类来完成此操作。如果您使用 @SpringBootTest 注释您的测试,当 Spring 在执行测试之前加载上下文时,您将正确配置默认时区。

我刚刚在我的一个项目中插入了这个类,并且我所有的 @SpringBootTest 带注释的测试开始尊重 UTC 时区。您可以替换为使用您想要的时区。

@Configuration
public class TimeZoneConfig {

private static final Logger LOGGER = LoggerFactory.getLogger(TimeZoneConfig.class);

@Bean
public TimeZone timeZone(){
TimeZone defaultTimeZone = TimeZone.getTimeZone("UTC");
TimeZone.setDefault(defaultTimeZone);
LOGGER.info("Spring boot application running in UTC timezone :"+new Date());
return defaultTimeZone;
}

}

关于spring - Spring Mock MVC 测试的时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33219564/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com