,Java   工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛,Java
您的位置:Yesky > 软件 > 开发者网络 > 正文
JBuilder2005单元测试之创建测试固件
[文章信息]
作者:陈雄华
时间:2005-05-10
出处:天极网
责任编辑:方舟
[文章导读]
在测试用例中通过setUp()、tearDown()创建测试固件,只能使这个测试固件在单个测试用例的不同测试方法中共用
advertisement
热点推荐
· 图文详解:黑客入侵方式演示
· Java异常处理的陋习展播
· 多媒体系列教程:网页设计制作
· Powerpoint动画演示教程连载
· 光盘刻录手册:禁忌与技巧(下)
[正文]

1 2 3  下一页

  在测试用例中通过setUp()、tearDown()创建测试固件,只能使这个测试固件在单个测试用例的不同测试方法中共用,如果有多个测试用例都需要使用相同的测试固件,就需要将测试固件抽取到一个独立的类中。JBuilder提供了3个预定义的测试固件类,它们分别是:

  ·JDBC测试固件(JDBC Fixture):用于获取数据库连接的测试固件,用户仅需要通过设置一些数据库信息,就可以用方便的方法获取数据连接。

  ·JNDI 测试固件(JNDI Fixture):用于模拟从JDNI环境中获取对象的测试固件。

  ·比较测试固件(Comparision Fixture):将测试输出到外部文件中,以便第二次测试时进行比较。

  ·自定义测试固件(Custom Fixture):用户自定义的测试固件。

  如果对JUnit的框架结构非常了解,也许这些JBuilder扩展的测试固件对你来说意义并不大,它们无非是构建一些常见的测试环境罢了,你完全可以自己编写。在本节里,我们介绍两个测试固件。

  JDBC测试固件

  如果你的工程中已经有一个获取数据连接的公共类,你也有必要构建一个JDBC测试固件,因为JDBC测试固件不但可以直接通过创建测试用例的向导直接指定,此外,JDBC测试固件还提供了许多面向测试的方法。

  为了创建JDBC测试固件,我们先创建一个JDataStore的数据库,其数据文件位于<chapter25工程目录>/db/hr.jds,这个数据库的用户名和密码是:sysdba/123456。hr.jds数据库中有一张EMPLOYEE的表,其结构如下所示:


图 错误!文档中没有指定样式的文字。EMPLOYEE表的数据

  EMPLOYEE有3个字段,分别是ID、NAME和AGE,分别是String、String和int类型,并按上图所示填入3条记录。

  为了演示JDBC测试固件的具体使用,我们设计两个业务类:Employee和EmployeeDAO,尔后用JDBC测试固件为测试EmployeeDAO提供数据连接。这两个类的代码如下:

  代码清单 错误!文档中没有指定样式的文字。Employee.java类

1. package chapter25.db;
2. public class Employee
3. {
4.  private String id;
5.  private String name;
6.  private int age;
7.  public Employee(String id, String name, int age) {
8.   this.id = id;
9.   this.name = name;
10.  this.age = age;
11.  }
12.  public String getId() {
13.   return id;
14.  }
15.  public String getName() {
16.   return name;
17.  }
18.  public int getAge() {
19.   return age;
20.  }
21.  public boolean equals(Object o) {
22.   if (o instanceof Employee) {
23.    Employee e1 = (Employee) o;
24.    return id.equals(e1.getId()) && name.equals(e1.getName()) &&age == e1.getAge();
25.   } else {
26.    return false;
27.   }
28.  }
29. }

  Employee类用于描述EMPLOYEE表的一条记录,该类访问数据库的EmployeeDAO代码如下所示:

  代码清单 错误!文档中没有指定样式的文字。EmployeeDAO.java类

1. package chapter25.db;
2. import java.sql.*;
3. public class EmployeeDAO
4. {
5.  private Connection conn;
6.  public EmployeeDAO(Connection conn) {
7.   this.conn = conn;
8.  }
9.  public Employee findById(String id) throws SQLException
10.  {
11.   String sqlStr = "select * from employee where id ='"+id+"'";
12.   Statement stat = conn.createStatement();
13.   ResultSet rs = stat.executeQuery(sqlStr);
14.   if (rs.next()) {
15.    return new Employee(id,rs.getString("name"),rs.getInt("age"));
16.   }else{
17.    return null;
18.   }
19.  }
20. }

  为了节省篇幅,我们仅提供一个访问数据库的访问方法:findById(),即通过id查找Employee对象。

  下面,我们利用JBuilder向导创建一个JDBC测试固件:

  1. File->New...->Test->在Test页中,双击JDBC Fixture图标,启动创建向导,其对话框如下所示:


图 错误!文档中没有指定样式的文字。指定JDBC测试固件类名

  在Class name中为JDBC测试固件指定类名:HrJdbcFixture,接受其他的默认设置,按Next到下一步。


1 2 3  下一页

发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
,Java相关内容,Java焦点新闻
  • 为Java应用程序添加退出事件响应
  • 用Java实现FTP服务器解决方案
  • Java源码分析:深入探讨Iterator模式
  • 菜鸟初学Java的备忘录之第一次接触
  • 浅析Java中Data类的应用
  • FVD刺激高清碟机加速商业化 抢占商机最重要
  • 3家搜索引擎集体诉讼8848 吕春维未敢出席
  • 杨元庆:没有准备不会获批的备用方案
  • 军队信息化诞生新领域 电子军务呼之欲出
  • 世界经济论坛公布信息化程度全球最新排名
  • 2004政务绩效评估:政府门户尚处于发展阶段
  • 甲骨文出资5.15亿美元 意图收购RetekInc
  • 技术并购:帮你突破传统增长的“天花板”
  • ,JavaAdvertisement

    天极无线
    经典名曲 华语流行 欧美风情 人声音效 原声大碟
    你好周杰伦-安又琪
    直线-张韶涵
    天边-张韶涵
    看我72变-蔡依林
    乱世佳人-Twins
    全世界下雨-张娜拉
    我们的爱-飞儿乐队
    分手快乐-梁静茹
    爱在西元前-周杰伦
    三万英尺-迪克牛仔
    爱如潮水-张信哲
    爱情宣言-齐秦
    寻找玛依拉-刀郎
    驼铃-刀郎
    老鼠爱大米-杨臣刚
    功夫主题曲
    仙剑主题曲杀破狼
    天下无贼片尾曲
    冲动的惩罚-刀郎
    情人-刀郎
    爱情-莫文蔚
    挪威的森林-伍佰
    奔跑 - 羽泉
    因为爱 - 羽泉
      ·时尚女人圈
    ·经典影视专集
    ·美女秀场
    ·美丽大自然专题
    ·流行金曲
    ·科幻电影特区
    | 最新推荐
    ·你好周杰伦
    ·杀破狼
    ·寻找玛依拉
    ·孤单公园
    ·男人海洋
    | 魔术铃声
    ·少女丰胸
    ·少妇丰胸
    ·减肥魔铃
    ·增高魔铃
    ·美容魔铃

    今日报价查询 更多报价