单元测试基础知识

本人博客文章网址:https://www.peretang.com/basic-knowledge-of-unit-testing/安全


什么是单元测试

    单元测试, 用于验证你的应用程序是否能够按照预期的方式正常运行.ide

    主要经过Mock或者Stub机制来隔绝与其余组件/服务之间的依赖, 控制测试的边界, 从而针对一个个单独的类或方法进行代码检查与测试.性能

 

为何须要单元测试

    由于每一个单元(类或方法)都是整个系统的基石.单元测试

    当实施单元测试时, 虽然短时间来会对生产效率形成影响, 可是因为实施单元测试后, 项目的质量会获得提高, 从而避免了后期的维护和修改缺陷的花费, 因此从长远的角度来讲, 实施单元测试有助于提升项目的生产效率.测试

    而且因为实施单元测试, 问题将会被提早找出, 改变了以往没有单元测试时, 全部问题都集中到项目最后爆发的弊端.spa

     从以上几点咱们能够得出: 单元测试=提升质量+提升生产效率+下降开发和测试成本+改善工做流程设计

 

单元测试带来的好处

    1. 带来更高的测试覆盖率: 单元测试能够很容易地模拟错误条件, 模拟各类有可能的状况, 从而提升代码的稳健性.调试

    2. 提升团队效率: 单元测试可让你在"功能测试"前提交 高质量/通过测试的代码, 避免在总体功能测试时遇到问题, 从而避免须要重复修改.开发

    3. 辅助监管: 一组成功的经过的单元测试能够确认您的代码能正确运行, 或在你作得不对的时候及时提醒你.get

    4. 减小调试: 一组良好的单元测试将会减小调试应用程序来找错误的机会与所消耗的时间.

    5. 给予重构的信心: 若是没有单元测试的话, 要证实重构是否成功将会是一件很是困难的事情, 单元测试提供了一个安全网, 为你的重构提供信心.

    6. 找出需改进的部分: 经过管理单元测试, 可找出被测试的代码是否存在设计上的问题, 是否须要改进代码, 或是否须要重构.

    7. 提供完美的代码示例: 单元测试能够完美的提供应用程序中的代码是如何使用的, 提供给其余开发人员一个使用示例.

    8. 启用代码覆盖率与其余指标: 提供诸如代码覆盖率, 代码的性能, 应用程序的执行速度等数据.

 

单元测试隔绝依赖的两种机制

    Stub: 用来模拟一个外部的依赖.

    Mock: 用来屏蔽一个外部的依赖.

    注意: 在单元测试中咱们总习惯使用这两种机制来隔绝外部依赖, 可是请避免过分隔绝依赖, 这会致使你的测试完整性下降, 致使当外部的依赖发生改变时, 你的测试代码也没有检测出来.

 

参考

  JUnit in Action, Second Edition

相关文章
相关标签/搜索