使用JdbcProxy测试Java应用程序 - 编程入门网
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
通过对这两个参数的修改,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 的结构如下 :
其中: <filepath> 是整合文件的相对路径和文件名。 运行上述程序,我们可以在控制台得到与直接连接数据库时相同的返回结果, 不必通过 HTTP 服务器 JdbcProxy 也可以进行 Java 应用的测试。 结语 JdbcProxy 可以让程序开发人员和测试人员脱离数据库的限制完成测试工作。 如果测试工作需要多人共同完成,那么采用 HTTP 服务器的方式能够保证数据的 一致性,更加便于小组成员协作;如果准备数据以及测试程序的工作由同一人完 成,那么通过整合文件的方式则更加直接,能够提高程序运行的效率。 本文以一个实例介绍了 JdbcProxy 的基本功能,以及如何使用 JdbcProxy 进 行数据的准备和测试。考虑到 JdbcProxy 只能通过 HTTP 服务器回放 JDBC 访问 ,本文还对 JdbcProxy 进行了改进,提供了直接通过整合的数据文件进行回放的 方式。您可以根据实际情况选择合适的回放方式,参照这个实例对 JdbcProxy 进 行修改,来测试您的 Java 应用程序,实现脱离数据库的测试工作。 本文配套源码 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |