搭建大型分布式服务(四十六)SpringBoot 单元测试一些小技巧
2023-12-28 05:52:46
系列文章目录
前言
SpringBoot支持集成Mockito做单元测试,我们在本地做单元测试测试的时候,经常因为环境等问题需要mock掉外部方法(远程调用、DB查询等),在Mock掉的同时,如果也想根据入参条件返回mock结果,需要怎样做呢?
一、本文要点
接前文,我们已经已介绍SringBoot如果做单元测试了,本文介绍单元测试一些常用技巧。
系列文章完整目录
- 禁用某些自动化配置,如mysql的自动装配
- 指定测试的application.properties文件
- 覆盖application.properties中某项配置
二、实战
- 1、 禁用某些自动化配置,如mysql的自动装配;
@Slf4j
@ActiveProfiles("dev")
@ExtendWith(SpringExtension.class)
@SpringBootTest
// 禁用db的自动装配
@EnableAutoConfiguration(exclude = DataSourceAutoConfiguration.class)
class ServiceTest {
@Test
void syncSku() throws Exception {
log.info("disable db.");
}
}
- 2、 指定测试的application.properties文件,即使用src/test/resources目录下的application.properties文件;
@Slf4j
@ActiveProfiles("dev")
@ExtendWith(SpringExtension.class)
@SpringBootTest
@TestPropertySource(value = "classpath:application.properties")
class ServiceTest {
@Test
void syncSku() throws Exception {
log.info("Specify the application.properties file for testing.");
}
}
- 3、 覆盖application.properties中某项配置;
@Slf4j
@ActiveProfiles("dev")
@ExtendWith(SpringExtension.class)
@SpringBootTest(properties = {"spring.abc.enabled=false"})
class ServiceTest {
@Test
void syncSku() throws Exception {
log.info("disable abc.");
}
}
文章来源:https://blog.csdn.net/hanyi_/article/details/135254446
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!