单元测试

本文介绍了单元测试的重要原则,包括AIR原则(自动化、独立性、可重复性),强调单元测试应全自动、独立且可重复执行。测试用例不应相互依赖,避免使用System.out验证,而应使用assert。此外,单元测试需保证粒度小,核心业务应确保通过测试,通常存放在src/test/java目录下,目标是至少达到70%的语句覆盖率。遵循BCDE原则进行边界值、正确输入、设计结合及错误输入测试,确保交付质量。
摘要由CSDN通过智能技术生成

1、好的单元测试必须遵守 AIR 原则。
(A:Automatic(自动化) I:Independent(独立性) R:Repeatable(可重复))
2、单元测试应该是全自动执行的,并且非交互式的。测试用例通常是被定期执行的,执行过程必须完全自动化才有意义。输出结果需要人工检查的测试不是一个好的单元测试。单元测试中不准使用System.out 来进行人肉验证,必须使用 assert 来验证。
3、保持单元测试的独立性。为了保证单元测试稳定可靠且便于维护,单元测试用例之间决不能互相调用,也不能依赖执行的先后次序。
4、单元测试是可以重复执行的,不能受到外界环境的影响。为了不受外界环境影响,要求设计代码时就把 SUT 的依赖改成注入,在测试时用 spring 这样的 DI框架注入一个本地(内存)实现或者 Mock 实现。
(mock是能够模仿真实对象行为的模拟对象。在软件测试中,mock所模拟的对象不是我们所测试的对象,而是 SUT 的依赖(dependency)。换句话说,mock 的作用是模拟 SUT 依赖对象的行为。)
(测试的对象一般称之为SUT(Software Under Test))
如下图所示,被测试对象是 A,A 依赖的是B,B 依赖的是 C。而我们要 mock 的是 B 的行为。图中 A 就是 SUT。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值