单元测试的作用
  单元测测试的目的在于验证一个明确的功能【一般是某个或者某组函数在特定条件下的行为】是否正确。
  为什么要单元测试
  1、有助于提高代码的设计
  2、有助于提高重构信心和质量
  3、有助于帮助理解代码
  4、有助于发现bug和调试
  单元测试军规
  步骤简单
  1、Setup
  2、调用
  3、断言
  4、TearDown
  用例名称具有自描述
  单元测试应该成为开发文档。
  运行快速
  单个用例执行时间要保证在毫秒级,这样才能保证在重构的时候快速小步前进。
  原子性
  测试结果要么失败,要么成功,没有部分成功失败的说法。
  幂等性
  测试用例无论被执行多少次,结果都是一样的。
  单一职责
  每个测试用例都只测试一种行为,注意这里说的是行为,而不是方法。
  独立性
  测试用例之间互不耦合,不能互相影响,尽量不要共享代码, 如果一定要共享代码应该放置在Setup函数中。
  隔离依赖
  要做到以上几点,必须隔离依赖,包括数据库访问,网络访问,读写文件,对用第三方资源等。
  Mock依赖对象并注入
  要求面向接口接口,不直接创建依赖对象,而是Mock依赖对象并注入。