快速业务通道

使用JdbcProxy测试Java应用程序 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
t;));      }      rs.close();      stmt.close();      connection.close();      //将整合数据文件输出到 output/mergerfile.xml      GenerateMergerFile mergerfile = new GenerateMergerFile ("output/mergerfile.xml");      mergerfile.generateFile();    } }

其中所需要的 driver 与前面记录用于回放的 JDBC 调用过程中的 driver 相 同,url 则不需要提供 foldername 。另外还要在程序的最后加入两行代码, GenerateMergerFile 方法所需的参数即整合文件的相对路径和文件名。运行上述 程序,在 output 目录下会生成名为 mergerfile.xml 的整合文件, mergerfile.xml 即为测试 Java 应用程序所准备的数据文件。

通过整合文件回放调用过程

对于直接通过整合文件回放 JDBC 调用过程的问题,我们重写了 JdbcProxy 中的一些方法。依然使用前面的示例程序,如果采用这种方式回放调用过程,我 们要修改 driver 和 url 两个参数,如清单 10所示。

清单 10

String driver = "nl.griffelservices.proxy.jdbc.oracle.FileStubTracerDriver"; String url = "jdbc:stub:output/mergerfile.xml";

通过对这两个参数的修改,JdbcProxy 将调用我们重写的方法,不需要通过 HTTP 服务器而是直接从整合文件中获取程序所需的响应结果。此处的改动包括: 在 nl.griffelservices.proxy.stub 包下增加了 FileClient、FileStub、 FileStubHandler、FileStubTracerMerger 四个类,在 nl.griffelservices.proxy.jdbc.oracle 包下增加了 FileStubTracerDriver 类 ,在 nl.griffelservices.proxy.jdbc.util 包下增加了 FileCombinedHandler 类。我们主要修改了 FileCombinedHandler 类中的 DriverUrl 方法用于解析新 的参数;修改了 FileClient 类中的 invoke 方法用于从整合文件中读取相应的 response 。读者可以从文章最后的下载区中下载修改后的代码。

此时数据库驱动是我们改写的提供的FileStubTracerDriver,URL 的结构如下 :

jdbc:stub:<filepath>

其中:

<filepath> 是整合文件的相对路径和文件名。

运行上述程序,我们可以在控制台得到与直接连接数据库时相同的返回结果, 不必通过 HTTP 服务器 JdbcProxy 也可以进行 Java 应用的测试。

结语

JdbcProxy 可以让程序开发人员和测试人员脱离数据库的限制完成测试工作。 如果测试工作需要多人共同完成,那么采用 HTTP 服务器的方式能够保证数据的 一致性,更加便于小组成员协作;如果准备数据以及测试程序的工作由同一人完 成,那么通过整合文件的方式则更加直接,能够提高程序运行的效率。

本文以一个实例介绍了 JdbcProxy 的基本功能,以及如何使用 JdbcProxy 进 行数据的准备和测试。考虑到 JdbcProxy 只能通过 HTTP 服务器回放 JDBC 访问 ,本文还对 JdbcProxy 进行了改进,提供了直接通过整合的数据文件进行回放的 方式。您可以根据实际情况选择合适的回放方式,参照这个实例对 JdbcProxy 进 行修改,来测试您的 Java 应用程序,实现脱离数据库的测试工作。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号