<b>JBuilder 2005单元测试之成立测试固件</b>[Java编程]
本文“<b>JBuilder 2005单元测试之成立测试固件</b>[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在测试用例中通过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.}
以上是“<b>JBuilder 2005单元测试之成立测试固件</b>[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |