Tomcat和JDBC驱动程序

时间:2010-11-28 12:59:31

标签: java tomcat jdbc mocking

我在tomcat上部署了一个webapp,它使用JDBC驱动程序访问远程数据库。我的问题是:我怎样才能像代理一样进入中间并模拟结果(不改变单行Java代码)?

示例:我可以使用jdbc代理吗?

感谢。

3 个答案:

答案 0 :(得分:0)

不改变/添加一行代码?从来没听说过。当然,如果您已经编程到一个接口并且计划为您的代码编写JUnit测试,那么您可以查看像Mockito这样的模拟库来为您完成这项工作,但是,“创建”数据的工作你想要留意吗。

答案 1 :(得分:0)

问题是:你想测试什么?您想验证您的SQL语句是否正确?还是交易边界?或者在DAO层内部进行一些数据处理?以这种方式思考可能会导致您对需要嘲笑的内容得出不同的结论。

答案 2 :(得分:0)

你几乎没有选择:

  1. 使用H2等嵌入式数据库。它甚至与其他数据库compatibility modes很少,因此您无需更改语句。

  2. 像Sanjay建议的那样使用像Mockito这样的模拟库。

  3. 使用dbUnit对数据库进行单元测试。

  4. 如果可行,请在本地计算机上安装远程数据库。

  5. 修改:根据您的评论,您似乎对选项1和2感兴趣。

    我没有使用过mocking,因为我还不需要它(我更喜欢使用真正的东西),但我并不认为它没用。

    所以,我将重点关注1:

    查看H2的教程,特别是关于connecting to database using JDBC的部分。此外,阅读quickstart指南不会有害。你必须阅读才能理解; - )

    为了兼容性,请检查我之前提供的链接,并使用适合您正在使用的数据库的任何模式(您没有指定哪个模式)。