请问一下各位大佬,java+springboot 的项目,跑自动化单元测试如何解决每个测试类,每次运行都会加载一次 spring 上下文的问题?(加载环境特别慢,无法忍受!)
1
Guozi1989 2017-12-04 17:31:03 +08:00
用 mock 的方式来做吧
|
2
mikulch OP |
3
gcli 2017-12-04 18:01:19 +08:00
单元测试还是应该用 mock 方式吧
|
4
mikulch OP @gcli 那本身要测的 service 里面,本身就有其他 service 和 mapper 的依赖呢?这个测试就需要加载上下文了呀。
|
6
18583826786 2017-12-04 20:04:00 +08:00 via Android
同问,看看后面有没有大佬解释
|
7
NeinChn 2017-12-04 20:08:54 +08:00
RunWith/ContextConfiguration 只能保证在一个 test suite(一个 class 内)内只初始化一次 Spring
但是基本没人会把单元测试写一个类里吧,基本都是一个 service 对应一个 test,一组 DAO 对应一个 test 坐等大佬解释,看看有没有什么更好的方法解决这种问题 |
9
ekoeko 2017-12-05 16:40:50 +08:00
同问,刚开始写的时候看了好多别人写的测试,好像都是这么写的。
|
10
zonghua 2018-01-26 21:11:07 +08:00
编码都用组合的方式,所有的属性都可以模拟然后赋值。之前我写单元测试也像你一样用 @SpringBootTest 启动容器去测试,结果被几个同事笑了一整天。
|