JAVA单元测试规约

1.单元测试是不可重复的,不能受到外界环境的影响。(为了不受外界环境的影响,要求设计代码是就把SUT的依赖改为注入,在测试时,spring这样的DI框架注入一个本地(内存)实现或者Mock实现。)
2.对应单元测试,要保证测试粒度足够小,有助于精确定位测试问题。单测粒度至多是类级别,一般是方法级别。(只有测试粒度小才能在出错时尽快定位到出错位置。单测不负责检查跨类或者跨系统的交互逻辑,那是继承测试的领域。)
3.核心业务、核心应用、核心模块的增量代码确保单元测试通过。
4.单元测试代码必须写在如下工程目录:src/test/java,不允许写在业务代码目录下。(源码构建时会跳过此目录,而单元测试框架默认是扫描此目录。)
5.编写单元测试代码遵守BCDE原则,以保证被测试模块的交付质量。

  1. B:Border,边界值测试,包括循环边界、特殊取值。特殊时间点。数据顺序等。
  2. C:Correct,正确的输入,并得到逾期的结果。
  3. D:Design,与设计文档想结合,来编写单元测试。
  4. E:Error,强制错误信息输入(如:非法数据、异常流程、非业务允许输入等),并得到逾期的结果。

    6.为了更方便地进行单元测试,业务代码应规避以下情况:

  5. 构造方法中做的事情过多。

  6. 存在过多的局部变量和静态方法。
  7. 存在过多的外部依赖。
  8. 存在过多的条件语句。(多层条件语句建议使用卫语句、策略模式、状态模式等方式重构。)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值