|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
手机用到的是用j2me所编出来的小程序。
在测试用例中经由过程setUp()、tearDown()创立测试固件,只能使这个测试固件在单个测试用例的分歧测试办法中共用,假如有多个测试用例都必要利用不异的测试固件,就必要将测试固件抽取到一个自力的类中。JBuilder供应了3个预界说的测试固件类,它们分离是:
·JDBC测试固件(JDBCFixture):用于猎取数据库毗连的测试固件,用户仅必要经由过程设置一些数据库信息,就能够用便利的办法猎取数据毗连。
·JNDI测试固件(JNDIFixture):用于摹拟从JDNI情况中猎取对象的测试固件。
·对照测试固件(ComparisionFixture):将测试输入到内部文件中,以便第二次测试时举行对照。
·自界说测试固件(CustomFixture):用户自界说的测试固件。
假如对JUnit的框架布局十分懂得,大概这些JBuilder扩大的测试固件对你来讲意义其实不年夜,它们不过是构建一些罕见的测试情况而已,你完整能够本人编写。在本节里,我们先容两个测试固件。
JDBC测试固件
假如你的工程中已有一个猎取数据毗连的大众类,你也有需要构建一个JDBC测试固件,由于JDBC测试固件不仅能够间接经由过程创立测试用例的导游间接指定,别的,JDBC测试固件还供应了很多面向测试的办法。
为了创立JDBC测试固件,我们先创立一个JDataStore的数据库,其数据文件位于<chapter25工程目次>/db/hr.jds,这个数据库的用户名和暗码是:sysdba/123456。hr.jds数据库中有一张EMPLOYEE的表,其布局以下所示:
<br>
图毛病!文档中没有指定款式的笔墨。EMPLOYEE表的数据
EMPLOYEE有3个字段,分离是ID、NAME和AGE,分离是String、String和int范例,并按上图所示填进3笔记录。
为了演示JDBC测试固件的详细利用,我们计划两个营业类:Employee和EmployeeDAO,此后用JDBC测试固件为测试EmployeeDAO供应数据毗连。这两个类的代码以下:
代码清单毛病!文档中没有指定款式的笔墨。Employee.java类
1.packagechapter25.db;
2.publicclassEmployee
3.{
4.privateStringid;
5.privateStringname;
6.privateintage;
7.publicEmployee(Stringid,Stringname,intage){
8.this.id=id;
9.this.name=name;
10.this.age=age;
11.}
12.publicStringgetId(){
13.returnid;
14.}
15.publicStringgetName(){
16.returnname;
17.}
18.publicintgetAge(){
19.returnage;
20.}
21.publicbooleanequals(Objecto){
22.if(oinstanceofEmployee){
23.Employeee1=(Employee)o;
24.returnid.equals(e1.getId())&&name.equals(e1.getName())&&age==e1.getAge();
25.}else{
26.returnfalse;
27.}
28.}
29.}
Employee类用于形貌EMPLOYEE表的一笔记录,该类会见数据库的EmployeeDAO代码以下所示:
代码清单毛病!文档中没有指定款式的笔墨。EmployeeDAO.java类
1.packagechapter25.db;
2.importjava.sql.*;
3.publicclassEmployeeDAO
4.{
5.privateConnectionconn;
6.publicEmployeeDAO(Connectionconn){
7.this.conn=conn;
8.}
9.publicEmployeefindById(Stringid)throwsSQLException
10.{
11.StringsqlStr="select*fromemployeewhereid="+id+"";
12.Statementstat=conn.createStatement();
13.ResultSetrs=stat.executeQuery(sqlStr);
14.if(rs.next()){
15.returnnewEmployee(id,rs.getString("name"),rs.getInt("age"));
16.}else{
17.returnnull;
18.}
19.}
20.}
<p>
轮性能微软曾做过一个例子,就是同一个项目用java和.net网页编程来作,结果开发周期,.net网页编程是java的一半,性能java是.net网页编程的十分之一,代码量java是.net网页编程的三倍。呵呵,这说明了什么,.net网页编程的全方位比java好。但是有的人说.net网页编程不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net网页编程很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net网页编程,只是推出了跨语言的.net网页编程, |
|