单元测试应该测什么?
来源:互联网 发布:python array函数 编辑:程序博客网 时间:2024/04/30 21:41
JUnit的测试案例谁都会写,但是用JUnit写的测试案例不一定是单元测试。单元测试是什么?应该测什么?本文抛砖引玉,谈点自己的想法。
单元测试,顾名思义就是对组成软件的一个单元进行测试。在面向对象开发的语言中,我们通常将类作为单元进行测试。如果从一个更高的层次来看一个类,它无非是从类的外部取得一些输入(Input),经过这个类加工处理后,输出一部分新的信息(Output)。类的核心就是加工处理输入信息的业务逻辑(Business Logic)。每个类都为整个软件贡献了一部分逻辑,所有类按照一定的方式组合起来就形成了整个软件。从这个角度来看,单元测试就是在给定输入的情况下,通过检测输出以测试这个类的业务逻辑是否正确。
古语说,“各人自扫门前雪,莫管他家瓦上霜”。做单元测试也是一样,单元测试应该关注这个类本身的逻辑,不应过度关注和它有关联的其他类或者依赖。如果你之前做“单元测试”的时候是把整个软件启动起来,以验证你写的那部分代码的逻辑是否正确,那么你不仅测试了自己的那部分代码,还做了部分的集成测试。
这样测试当然可以,只是它有如下的缺点:
1. 将整个软件启动起来,通常要花很长的时间,这会影响你写代码的思路。每改动一点东西,要花很长时间才能看到效果,反馈时间过长。
2. 类的某些边界情况无法测试。
3. 如果软件是UI相关的,这样的测试是很难自动化的,即使能做到自动化,也很难维护。
因此,单元测试应仅仅关注在这个类本身,通过模拟这个类的输入和类的依赖,以测试这个类所提供的业务逻辑是否正确。只要单元测试能保证这个类在它所支持的不同输入情况下都是正确的,那就足够了。至于类和其他类的集成是后续测试要来保证的。
- 单元测试应该测什么?
- 单元测试应该测什么
- 单元测试应该测什么,不应该测什么?
- 单元测试应该测试什么?
- 单元测试应该测试什么?——Right-BICEP
- [转]单元测试应该测试什么?——Right-BICEP
- 单元测试应该测试什么?——Right-BICEP
- BVT应该测些什么?
- 单元测试应该测试什么?——Right-BICEP - 自由是冠军 - CSDNBlog
- 单元测试,测试什么?
- 单元测试,测试什么?
- 随机数生成器应该如何单元测试?
- 单元测试应该由谁编写
- 现在应该学什么?
- 胃痛应该注意什么
- 计算机专业应该学习什么
- 离职,应该做什么?
- 设计者应该知晓什么?
- what have you tried?
- C语言中的字符串,也叫c串
- 给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。
- Java连接池
- ui 自定义的度如何把握
- 单元测试应该测什么?
- 关于smartanalyst的项目设想
- 又发现一个 IE8 的问题,在 JavaScript 中类属性名称与关键字重名时
- javascript 数组操作
- CGAL几何库 半边网格数据结构 模板类 设计核心思想
- 哈哈,开心的4.1
- 使用ServletFileUpload实现上传
- win7下 如何将UltraEdit设置为右键打开
- servlet中的知识点1:servletConfig,ServletContext