关于单元测试的一些基本问题
2010-10-11 20:09
218 查看
在单元测试时,由于模块通常与其他模块存在耦合,因此往往需要将测试将耦合的模块也一起测试了。很多时候,这是难以(甚至无法)完成的。因此,如果我们能将被测试模块隔离,使其完全不依赖于其他模块的具体实现,这样,我们就能做到测试先行,先测试哪个类,就先实现哪个模块,而不管与之耦合的模块是否已经实现。
模拟对象(mock object)就是为此需要而诞生的。它通过JAVA反射机制,在运行时动态地创建模拟对象。在测试代码中,我们可以验证这些模拟对象是否被正确地调用了,也可以在特定的情况下,让其返回特定的假想值。而一旦有了这些模拟对象提供的服务,被测试模块就可以将模拟对象作为其他与之联系的真实模块的替身,从而轻松地搭建起一个很完美的测试环境。
一般项目中,我们使用JUnit作为整体框架,用JMock作为辅助,这两个工具的使用在网上有大量资料(不过JMock的好像不是很多)。我个人觉得比较好的两个:JUnit:http://www.ibm.com/developerworks/cn/java/j-lo-junit4/
JMock:http://book.51cto.com/art/200806/78343.htm
英文好的朋友可以直接参考JMock Cookbook,里面有关于JMock的几乎所有文档,而且非常详细。
模拟对象(mock object)就是为此需要而诞生的。它通过JAVA反射机制,在运行时动态地创建模拟对象。在测试代码中,我们可以验证这些模拟对象是否被正确地调用了,也可以在特定的情况下,让其返回特定的假想值。而一旦有了这些模拟对象提供的服务,被测试模块就可以将模拟对象作为其他与之联系的真实模块的替身,从而轻松地搭建起一个很完美的测试环境。
一般项目中,我们使用JUnit作为整体框架,用JMock作为辅助,这两个工具的使用在网上有大量资料(不过JMock的好像不是很多)。我个人觉得比较好的两个:JUnit:http://www.ibm.com/developerworks/cn/java/j-lo-junit4/
JMock:http://book.51cto.com/art/200806/78343.htm
英文好的朋友可以直接参考JMock Cookbook,里面有关于JMock的几乎所有文档,而且非常详细。
相关文章推荐
- 【软件工程】关于软件工程里需要熟悉的一些基本问题的讨论(一)
- 关于在Spring4 jdbctemplate 遇到的一些基本问题总结
- 关于在 Spring 中对 DAO 进行单元测试的一些问题
- 关于一些 基本的math函数 和 float double 的范围 问题
- 关于java的一些小问题,list中添加对象,java基本数据类型对象
- 关于数组和指针的一些基本问题
- java中关于基本类型和数组的一些注意问题
- linux的一些基本命令(关于文件操作, 进程操作,以及/boot问题)
- 回答一些关于深度神经网络的基本问题
- 关于SWT学习的一些基本问题
- 关于Integer对象比较,和int基本类型比较的一些问题
- 关于SAP的RFC一些问题列表
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 关于ADT和AndroidStudio集成SVN的一些小问题
- hive中的一些基本问题解决方法
- 关于规则引擎一些基本理论的积累
- 关于解析json串(串里有汉字)一些问题解决方案!
- 关于数组的一些问题
- 关于ASP.NET在IIS一些问题的经验总结(zz)
- 关于在R中使用C程序的一些问题