求助, springboot 模块依赖测试问题

2020-09-04 09:34:03 +08:00
 simonlu9

现在遇到的问题是,A 模块依赖于 B 模块,而 B 模块嵌入的东西太多啦,现在的需求是 跑 A 单元测试的时候,属于自己业务代码,跟 B 没关系,能不能不运行 B 模块的代码,只提供编译,不然每次跑都太麻烦啦,用了 maven scope runtime,还是会运行 b

1575 次点击
所在节点    Java
4 条回复
Jrue0011
2020-09-04 09:40:56 +08:00
测试类上用 Spring 相关的注解控制引入的配置和组件
simonlu9
2020-09-04 09:48:19 +08:00
@Jrue0011 应该使用什么注解呢,对 springboot 不是很熟
zhazi
2020-09-04 10:07:44 +08:00
我觉得你说的是集成测试
如果 B 依赖是个 autoconfig 可以是用 exclude 排除掉
如果不是 autoconfig,那么生命周期应该是你自己控制的。
Jrue0011
2020-09-04 10:44:31 +08:00
@Jrue0011 前面说的可能有点不清楚

如果 A 、B 都是 Spring 管理,用到了各种 SpringBoot 自动配置以及额外的手动配置的话,需要根据单元测试内容排除掉非必要的 SpringBoot 自动配置以及手动配置,获得最小的启动环境。

注解只是在单元测试代码里进行环境配置的方法,怎么用说起来就说不清楚了,建议参考官方文档。

https://docs.spring.io/spring-boot/docs/current/reference/html/spring-boot-features.html#boot-features-testing
https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/testing.html#testing

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/704076

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX