前段日子很无聊,也是很无奈的。经过了这段日子的,我想了很多事情,虽然全部想通,但却努力的去想了。我想这样就Ok了
对吗?
好了。前阵子,老板请喝早茶,顺便跟我们这些技术人员讨论了怎么样可以提高我们内功的问题。我老板也是技术出身的。有相当多的经验,当然我最初的想法并不是去研究测试,我直接提出:“我觉得我们应该提高我们对设计模式的理解”。他却不怎么同意,说测试才是我们现在的当务之急,然后很肯定的说。TDD,重构都是建立再单元测试基础上的。并推翻了我的建议:”有空让对设计模式有深厚理解的员工给我们上课“。
开始由于我个人原因,或许我是个很情绪话的员工,也许在另外一家公司我可能早就被T。也许老板对我太好了。^_^
我当时不怎么响应,总是做自己喜欢做的事情,后来自己慢慢觉得自己的工作态度不对,所以昨天试着努力纠正自己的错误,真是在这样的环境下,自己写出了自己第一个我认为真正意义上的测试,把它记录下来。
测试的要求:
测试对一个Account的Dao操作以及Service。
java 代码
-
- package org.wuhua.dao;
-
- import java.util.Collection;
-
- public interface IBaseDao {
- Object save(Object o);
- void delete(Object o);
- Object update(Object o);
- Collection list();
- }
根据我的理解,测试的对方要跟mock的对象分开,(开始我一直认为你要mock的对象就是你要测试的东西,搞着搞着,我就很迷茫了。)。现在要做的就是看你IBaseDao的实现是什么了。如果实现是采用SpringHibernateTemplate的话你就去mock一个这样对象,不过此对象并不是接口,所以你要用到easymock的扩展包,以对它的支持。如果你实现的采用纯Hibernate的话。那你就去mock一个SessionFactory吧。很简单吧,难道这就是所谓的解耦吗?我想是的,这正是解耦。 哈哈
看下我的实现吧,采用Spring实现。
java 代码
- package org.wuhua.dao.impl;
-
- import java.util.Collection;
-
- import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
- import org.wuhua.dao.IBaseDao;
-
- public class BaseDao extends HibernateDaoSupport
- implements IBaseDao {
-
- public void delete(Object o) {
- this.getHibernateTemplate().delete(o);
- }
-
- public Collection list() {
-
- return null;
- }
-
- public Object save(Object o) {
- return this.getHibernateTemplate().save(o);
-
- }
-
- public Object update(Object o) {
- this.getHibernateTemplate().update(o);
- return o;
- }
-
- }
测试代码
java 代码
- package org.wuhua.dao;
-
- import java.io.Serializable;
-
- import junit.framework.TestCase;
-
- import org.easymock.MockControl;
- import org.easymock.classextension.MockClassControl;
- import org.springframework.orm.hibernate3.HibernateTemplate;
- import org.wuhua.dao.impl.BaseDao;
-
- public class BaseDaoTest extends TestCase {
-
- MockControl control;
-
- private HibernateTemplate ht;
-
- private BaseDao baseDao;
-
- protected void setUp() throws Exception {
- control = MockClassControl.createControl(HibernateTemplate.class);
- ht = (HibernateTemplate) control.getMock();
- baseDao = new BaseDao();
- baseDao.setHibernateTemplate(ht);
- }
-
- public void testSave() {
- Object o = new Object();
- ht.save(o);
- //这里我是有疑问的。
- //1,为什么HibernateTemplate返回的是Serializable。
- //2,设置的返回植为什么一定要跟调用ht.save(o)一致呢?
- control.setReturnValue(new Wuhua());
- control.replay();
- baseDao.save(o);
- control.verify();
- }
-
- public void testUpdate() {
- Object a = new Object();
- ht.update(a);
-
- control.replay();
- try {
- baseDao.update(a);
- fail("Not catch exception!");
- } catch(Exception e) {
-
- }
- control.verify();
- }
-
- class Wuhua implements Serializable {}
-
- }
上面就是我第一次很认真的测试,有很多不明白的地方
分享到:
- 2006-12-07 11:39
- 浏览 14598
- 评论(32)
- 论坛回复 / 浏览 (32 / 19340)
- 查看更多
相关推荐
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
黑盒测试实验报告 1 1 黑盒测试实验报告全文共21页,当前为第1页。黑盒测试实验报告全文共21页,当前为第1页。实验报告书实验报告书 黑盒测试实验报告全文共21页,当前为第1页。 黑盒测试实验报告全文共21页,当前为...
是第一款真正意义上的U盘扩容检测工具,此外这款工具还可以检测FLASH闪存是否有坏块,是否采用黑片,不破坏磁盘原有数据。并可以测试U盘的读取和写入速度,对存储产品进行老化试验。是我们挑选U盘和存储卡必备的...
LoadRunner常见测试结果分析 在测试过程中,可能会出现以下常见的几种测试...真正意义上的高效才能体现。流程、工具无非只是我们改进工作过程的一种手段,而不是吃饭的家伙。请正视自己的职业,不要把测试工具当饭吃。
第一款真正意义上的U盘扩容检测工具集几大功能于一身:扩容检测、坏块扫描、速度测试、坏块屏蔽等 这两款软件都是专业的U盘扩容检测工具,很多 第一款真正意义上的U盘扩容检测工具集几大功能于一身:扩容检测、坏块...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量...
第一款真正意义上的U盘扩容检测工具。 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽。 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充...
第一款真正意义上的U盘扩容检测工具 集几大功能于一身:扩容检测、坏块扫描、速度测试、坏块屏蔽
注意这个是pageadmin v3版本的破解版本,网上也很多v2.1版的破解版,v3版找了很久没有一个是真正破解的,这个应该算是第一个v3真正意义破解版本,前后陆续花了一周左右时间调试修改,并经过大量测试没有发现任何问题...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...
第一款真正意义上的U盘扩容检测工具 集5大功能于一身:扩容检测、坏块扫描、速度测试、老化测试、坏块屏蔽 MyDiskTest是一款U盘/SD卡/CF卡等移动存储产品扩容识别工具。可以方便的检测出存储产品是否经过扩充容量,...