clean code 单元测试

单元测试

敏捷和TDD促使了许多程序员编写自动化单元测试。

1.TDD三定律

①在编写不能通过的单元测试前,不可编写生产代码;
②只可编写刚好无法通过的单元测试,不能编译也算不通过;
③只可编写刚好足以通过当前失败测试的生产代码;

2.测试很重要

  1. 测试代码和生产代码一样重要,不是二等公民,需要被思考、被设计和被照料,应该像生产代码一样保持整洁。
  2. 是单元测试使得代码可扩展,可维护,可复用。没有单元测试的保证,就不敢放心地改动代码。
  3. 覆盖了生产代码的自动化单元测试能很大程度地保持设计和架构的整洁。覆盖率高的测试能够促使毫无顾虑地改进架构和设计。

3.整洁的测试

整洁的测试三要素:可读性、可读性,可读性!
单元测试中,可读性甚至比生产代码更重要。

明确,简洁,足够的表达力,呈现出 构造->测试->验证的模式;

4.每个测试函数只测一个概念

单个测试中断言的数量应该最小化,每个测试函数只测一个概念(一类场景)

5.FIRST

Fast–快速 :测试快速运行;如果测试运行缓慢,你就不会想要频繁的运行它,如果你不频繁的运行测试,就不能尽早发现问题,最终,代码就会变坏。

Independent–独立:测试相互独立,某个测试不应为下一个测试设定条件,需要独立运行每个测试及以任何顺序运行测试。当测试相互依赖,前面没通过会导致后面一连串的测试失败。

Repeatable– 可重复:测试应当在任何环境下可重复通过。

self-validating --自足验证:测试应该有布尔值输出,无论通过还是失败,不应该看日志文件手工对比。

Timely– 及时:测试应及时编写。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值