在单元测试重写配置文件

单元测试的时候我们要屏蔽掉外部依赖,对于微服务,配置中心和注册中心也要屏蔽,不然启动的时候就会进行网络调用,不但会影响单元测试的执行速度,还会产生网络报错。

为了方便管理,可以使用一个测试用的配置文件来覆盖服务的配置。使用注解TestPropertySource 可以正确加载测试配置覆盖服务的其他配置项。我们可以定义一个测试基类,然后让工程里的所有测试类都继承,统一管理配置的入口。

@SpringBootTest
@TestPropertySource("classpath:test.yaml")
public class BaseTest {}
public class UserControllerTest extends BaseTest {}

要关闭Apollo配置中心和Eureka注册中心只需要在test资源文件夹的test.yaml里面添加下面两项配置即可

apollo.bootstrap.enabled: false
eureka.client.enabled: false

#假如使用active来管理配置,那么想在单元测试代码里屏蔽所有的active可以这么写
spring.profiles.active:
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容