1.单元测试关系的是类中方法的逻辑正确性,不应该关注方法外部逻辑;
1.1模块可以始终符合期望,在此之后才有集成工作
2.不关注依赖方运行,用MOCK伪造假的依赖服务。(mock用于解耦---,模块思想,基本都是mock框架---mockito);
2.2伪造的服务应清楚受测模块约束,不需要满足不必要的服务
3.内部直接NEW,强依赖。无法mock
4.继承类,mock需要关心父类逻辑和mock父类服务
5.全局变量被修改之后会影响别的测试类
- 单元测试不依赖环境
- 基于spring(boot)
- 涉及数据库,mock框架进行隔离
- 对于其外部依赖(如第三方接口)。虚拟出外部依赖,避免这种缺失阻碍测试。一般测试service层即可
常用mock框架
mockito
easymock
powermock
jmockit