单元测试实践总结

单元测试的作用

单元测测试的目的在于验证一个明确的功能【一般是某个或者某组函数在特定条件下的行为】是否正确。

为什么要单元测试

  1. 有助于提高代码的设计
  2. 有助于提高重构信心和质量
  3. 有助于帮助理解代码
  4. 有助于发现bug和调试

单元测试军规

步骤简单
  1. Setup
  2. 调用
  3. 断言
  4. TearDown
用例名称具有自描述

单元测试应该成为开发文档。

运行快速

单个用例执行时间要保证在毫秒级,这样才能保证在重构的时候快速小步前进。

原子性

测试结果要么失败,要么成功,没有部分成功失败的说法。

幂等性

测试用例无论被执行多少次,结果都是一样的。

单一职责

每个测试用例都只测试一种行为,注意这里说的是行为,而不是方法。

独立性

测试用例之间互不耦合,不能互相影响,尽量不要共享代码, 如果一定要共享代码应该放置在Setup函数中。

隔离依赖

要做到以上几点,必须隔离依赖,包括数据库访问,网络访问,读写文件,对用第三方资源等。

Mock依赖对象并注入

要求面向接口接口,不直接创建依赖对象,而是Mock依赖对象并注入。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、百变怪 Mockito Mockito可谓是Java世界的百变怪,使用它,可以轻易的复制出各种类型的对象,并与...
    罗力阅读 9,486评论 3 18
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,442评论 19 139
  • @Author:彭海波 前言 单元测试(又称为模块测试, Unit Testing)是针对程序模块(软件设计的最小...
    海波笔记阅读 10,416评论 0 52
  • 什么是单元测试 在计算机编程中,单元测试(Unit Testing)又称为模块测试, 是针对程序模块(软件设计的最...
    HelloCsl阅读 13,746评论 1 46
  • 好大的风啊!她悠悠地睁开眼,想到,北京好久没刮这么大的风了,不过也好,这或许会让前些天爆表的雾霾得到不小的缓解...
    炽热的火焰阅读 2,688评论 0 0