- 浏览: 309532 次
- 性别:
- 来自: 南昌
文章分类
最新评论
-
秋风扫落叶:
不错,学习了。shadow文件中记录的格式是什么?
/etc/passwd & /etc/shadow 详解 -
key232323:
重拾jstl——写得很好。我收藏下。
JSTL标签用法 -
zxl10059:
不错,非常简明扼要
Hibernate分页 -
Batmankwok:
很好,所见略同,
自定义组件MXML和as两种实现的方式和区别 -
Dxx23:
摘话回帖!
通过response对象的sendRedirec ...
response.sendRedirect方式的转向与RequestDispatcher的forward方法的比较
前阵子发表过 我的第一个真正意义上的测试 。
里面对于测试Service大家是没有意义的,对于测试DAO层则表现各有各的看法。
比如
测试DAO不如连数据库一起测试吧。因为DAO测试的目的不是DAO接口实现对不对,而是测试是否如你预期的发送了SQL,如你预期的返回了结果集。这个时候你Mock之后,测试就没有意义了。
我现在的意思是, 但是数据库的测试毕竟比较特殊,记住测试的目的是确保你的代码质量,如果你确定你的这样测就没问题了,那无话可说,否则就尽量多的测试。
但对于mock来说是有莫大好处的。
比如service测试的时候完全可以做到隔离数据库,
居然Service可以隔离Dao层,也就是说Dao层也是可以做到隔离相关的数据实现的。也是可以mock一个对象。而并非用实际的连接去代 替。如果我们的逻辑没出错的话,测试就算通过了,至于数据层的检测,那就不关我们的事情了,比如Hibernate由Hibernate去test, Spring由Spring去Test,Oracle由它自己去做。干自己的事情,别趟其他浑水。这样不是潇洒很多吗
事实上,最原始的单元测试(plain testcase)就是用来测方法,测业务逻辑的,如果有逻辑就测,没逻辑就不用测了,同样的道理,相信你不会去测一个bean的get/set方法吧。
记住你测试的目的和动机,如果你认为测试dao层是为了测你的逻辑(你确定你的dao的实现代码是否真的存在逻辑),那你就mock吧,但是,我 们更相信,我们测DAO层,更应该是测访问数据库的情况,你如连接,sql是否正确,sequence是否正确等,而这些你必须要真正的连接数据库,也因 此,我们一般都是直接访问数据库来测试的,当然,如果可能你可以采用内存库。
事实上,我们对dao的测试,一般都进行所谓的的集成单元测试。我认为,你应该确定好你的测试策略,然后在去采用相应的测试方法。我在目前的开发中就是采用这样的方式测的。
但个人认为上面两个大哥的单元测试以非纯正的单元测试了,而是集成单元测试。
其实说白了,测试这东西只是为了项目更好,更快的完成。至于是否要求纯单元,或者是集成单元测试,则看各位的需要,如果觉得集成单元测试对项目有帮助,那就用吧,现在发现对这个已经没有明显的界限了。
不理会它了,现在回归到我们用户注册的例子。
实际实现代码
发表评论
-
web.xml tomcat 和jetty 区别
2010-09-07 09:31 2189因为使用GWT,所以测试的时候是在jetty上运行的,但是最后 ... -
单元测试之实践四 Action的测试
2010-08-30 10:14 875Action的测试是比较辛苦的。因为它依赖与其他的环境(比如t ... -
单元测试之实践三 Service的测试
2010-08-30 10:13 995测试Service,因为Service依赖的Dao, 所以只需 ... -
Mockito特点
2010-08-30 10:02 11121. 只能使用jdk1.5以上,因为它的方便是用jdk1.5的 ... -
HttpUnit进行Web测试
2010-08-30 00:06 1714简介:HttpUnit是基于JUnit ... -
关于单元测试的一些看法
2010-08-28 14:26 929从参加工作以来,参加 ... -
Eclipse IDE下 Cactus + Jetty 对 Servlet 的测试
2010-08-28 13:09 1576在开发J2EE Web项目时,测试过程常涉及到代码与Web C ... -
用cactus,jetty实现对servlet类进行单元测试三(完)
2010-08-28 11:39 1134OK,可以开始写测试类了,代码为: pa ... -
用cactus,jetty实现对servlet类进行单元测试二
2010-08-28 11:37 1380按照官网的定义,我们就可以用MILY: 'Arial','sa ... -
用cactus,jetty实现对servlet类进行单元测试一
2010-08-28 11:35 1409JUnit是名声大燥了,想必只要学过JAVA的人都知道世上有个 ... -
相关测试工具下载
2010-08-26 17:21 1472相关测试工具下载 HP-Mercury软件测试工具下载,随时 ... -
单元测试实践小结
2010-08-26 16:40 634在系统开发过程种使用单元测试,会带来很多的的好处,最明显为: ... -
软件测试杂录
2010-08-26 14:41 1118比较杂,有空再整理一 ... -
J2EE单元测试
2010-08-26 11:06 1080一、测试原则 Java ... -
利用httpunit测试servlet
2010-08-26 10:33 2037传统的Java WEB应用中,核心技术莫过于Servlet类与 ... -
使用 EasyMock 更轻松地进行测试
2010-08-25 14:40 1016测试驱动开发是软件开发的重要部分。如果代码不进行测试,就是不可 ... -
Cactus工作原理
2010-08-24 09:52 1019Cactus 是Jakarta的子项目 ... -
Cactus实例讲解
2010-08-23 17:08 931Cactus简介 . 简介 Cactus实现了对JUni ... -
flex和java的通信
2010-08-17 15:35 739一、准备: 服务端:J ... -
Flash 聊天室
2010-08-17 11:39 1009今天我们来制作 Flash 聊天室,学习使用 Socket 类 ...
相关推荐
本篇文章将重点讲解如何在IDEA环境下,针对Spring多模块项目中的Dao层进行单元测试。 首先,我们要理解什么是单元测试。单元测试是一种软件测试方法,它针对程序中的最小可测试单元,如方法或类,进行独立验证。在...
“junit使用指南及作业规范.pdf”这份文档可能详细介绍了JUnit的用法,包括更复杂的特性如参数化测试、超时测试、假设测试等,以及如何编写良好的测试实践。遵循这些规范可以提高测试的覆盖率和质量。 在实际开发中...
**一、单元测试之测试目的** 单元测试,作为软件开发过程中的重要环节,其核心目标在于确保代码的质量、可维护性和可扩展性。它通过独立测试软件中的最小可测试单元,如函数或方法,来验证其功能是否符合预期。这一...
### iOS单元测试最佳实践 #### 一、iOS单元测试的重要性及意义 在软件开发过程中,单元测试是确保代码质量、提高开发效率的关键环节之一。对于iOS应用开发而言,良好的单元测试不仅能帮助开发者发现并修复潜在的...
单元测试是一种软件开发中的关键实践,它涉及到对代码的各个最小可测试单元进行独立验证,以确保它们按预期工作。这种测试方法可以帮助开发者在早期发现并修复错误,提高代码质量,减少集成和系统测试阶段的问题。 ...
传统的单元测试通常不涉及外部资源,但当测试的对象直接与数据库交互时(例如DAO层),就需要确保数据库处于一个已知且可预测的状态。DBunit允许开发者在测试前将数据库的状态设定为一个特定的状态,并在测试结束后...
在Spring框架中进行单元测试,特别是测试DAO层,通常需要准备默认数据和测试数据,并可能需要模拟Spring的IoC容器。尽管Spring推荐使用隔离的测试,但在实际项目中,直接使用Spring框架进行测试可以简化流程。 通过...
在软件开发过程中,单元测试是确保代码质量的重要环节。`JUnit` 是Java编程语言中最流行的单元测试框架,它允许开发者...通过这样的测试实践,我们可以更好地维护代码,减少因数据层错误导致的问题,提高整体项目质量。
总结,这个项目涉及了使用Hibernate进行单元测试的关键技术和实践,包括配置测试环境、创建和管理测试数据、实施批处理操作以及进行有效的测试验证。理解并掌握这些内容,对于开发高效、健壮的Java应用程序至关重要...
在Spring MVC框架中,单元测试是确保代码质量的重要步骤,特别是在控制器层(Controller)。...在实际操作时,参考博客中的示例代码和上述步骤,可以更好地理解和实践Spring MVC Controller的单元测试。
通过以上描述,我们可以看到SSH框架下的单元测试涉及到多方面的技术和实践,包括对Spring、Struts和Hibernate的理解,以及单元测试的原理和技巧。这两份代码文件为学习和实践这些知识提供了一个很好的起点。
为了确保业务层的正确性,我们还需要关注数据访问对象(DAO)的测试。Spring Data JPA提供了`@Query`注解,允许自定义SQL或HQL查询,而在测试中,我们可以利用`@Sql`和`@SqlGroup`注解执行SQL脚本,预先填充或清理...
《单元测试之道Java版:使用JUnit》是一本深入讲解如何在Java开发中运用JUnit进行单元测试的专业书籍。单元测试是软件开发过程中的重要环节,它能够确保代码的正确性,提高代码质量,以及便于后期的维护和重构。...
编写对DAO编写单元测试[1]软件测试单元测试作为保证软件质量及重构的基础,早已获得广大开发人员的认可。单元测试是一种细粒度的测试,越来越多的开发人员在提交功能模块时也同时提交相应的单元测试。对于大多数开发...
标题“使用Unitils测试DAO”涉及的是在Java开发中如何利用Unitils库来高效地测试数据访问对象(DAO)层的代码。...这种测试方法有助于提升代码质量,确保数据库操作的正确性,并遵循良好的测试实践。
SpringMvc单元测试Junit是Java开发中的重要实践,主要用于确保应用程序的特定部分,如控制器,服务或DAO,按预期工作。在这个Demo中,我们将深入探讨SpringMvc如何与JUnit结合进行有效的单元测试,以及如何利用这些...
五、Dbunit测试实践 在mybatis DAO层中,可以使用dbunit来进行单元测试。首先,需要在pom.xml文件中添加相关的依赖项,然后创建一个unitils.properties配置文件,用于配置自定义拓展模块,数据加载等相关信息。接着...
通过对 Mybatis-Demo 的源码分析和单元测试实践,我们可以深入了解 MyBatis 的工作机制,提升我们的编程和测试技能。在实际开发中,理解并掌握这些知识点将有助于我们写出更加高效、稳定的代码。
在进行单元测试时,遵循一些最佳实践能提高测试质量: 1. **测试隔离**:每个测试应独立于其他测试,避免共享状态,确保每次运行的结果一致。 2. **测试覆盖率**:尽可能覆盖代码的所有分支和边界条件,确保代码的...