Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat和JDBC驱动程序_Java_Tomcat_Jdbc_Mocking - Fatal编程技术网

Java Tomcat和JDBC驱动程序

Java Tomcat和JDBC驱动程序,java,tomcat,jdbc,mocking,Java,Tomcat,Jdbc,Mocking,我在tomcat上部署了一个webapp,它使用JDBC驱动程序访问远程数据库。我的问题是:我如何才能像中间人一样进入中间,模拟结果(不改变一行java代码)?< /P> 示例:我可以使用jdbc代理吗 谢谢。不更改/添加一行代码吗?据我所知没有。当然,如果您已经编程到一个接口,并且计划为代码编写JUnit测试,那么您可以查看模拟库,就像为您做这项工作一样,“创建”数据的工作将由您负责。而不更改/添加一行代码?据我所知没有。当然,如果您已经编程到一个接口,并且计划为代码编写JUnit测试,那么您

我在tomcat上部署了一个webapp,它使用JDBC驱动程序访问远程数据库。我的问题是:我如何才能像中间人一样进入中间,模拟结果(不改变一行java代码)?< /P> 示例:我可以使用jdbc代理吗


谢谢。

不更改/添加一行代码吗?据我所知没有。当然,如果您已经编程到一个接口,并且计划为代码编写JUnit测试,那么您可以查看模拟库,就像为您做这项工作一样,“创建”数据的工作将由您负责。

而不更改/添加一行代码?据我所知没有。当然,如果您已经编程到一个接口,并且计划为代码编写JUnit测试,那么您可以查看模拟库,就像为您做这项工作一样,“创建”数据的工作将是您需要注意的。

问题是:您想测试什么?是否要验证SQL语句是否正确?还是交易边界?或者可能是DAO层内部的一些数据处理?这样想可能会让你得出不同的结论,关于什么需要嘲笑。

问题是:你想测试什么?是否要验证SQL语句是否正确?还是交易边界?或者可能是DAO层内部的一些数据处理?这样想可能会让你对需要嘲笑的东西得出不同的结论。

你几乎没有选择:

  • 使用嵌入式数据库,例如。它甚至很少与其他数据库连接,因此您不必更改语句

  • 使用模拟库,如Sanjay建议的

  • 用于对数据库进行单元测试

  • 如果可行,在本地计算机上安装远程数据库

  • 编辑:从您的评论来看,选项1和2似乎是您感兴趣的

    我没有使用嘲弄,因为我还不需要它(我更喜欢使用真实的东西),但我并不是说它没有用

    因此,我将重点介绍1:

    查看H2的教程,特别是关于。另外,阅读指南也没什么坏处。你必须阅读才能理解;-)

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

    您几乎没有选择:

  • 使用嵌入式数据库,例如。它甚至很少与其他数据库连接,因此您不必更改语句

  • 使用模拟库,如Sanjay建议的

  • 用于对数据库进行单元测试

  • 如果可行,在本地计算机上安装远程数据库

  • 编辑:从您的评论来看,选项1和2似乎是您感兴趣的

    我没有使用嘲弄,因为我还不需要它(我更喜欢使用真实的东西),但我并不是说它没有用

    因此,我将重点介绍1:

    查看H2的教程,特别是关于。另外,阅读指南也没什么坏处。你必须阅读才能理解;-)


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

    目标是加快应用程序的使用(在开发中)。远程数据库减慢了开发速度。啊,好的。我绝对喜欢这一个:-如此容易运行在同一个虚拟机作为休息,但如此充分的功能。也许这是一个解决方案?目标是加速应用程序的使用(在开发中)。远程数据库减慢了开发速度。啊,好的。我绝对喜欢这一个:-如此容易运行在同一个虚拟机作为休息,但如此充分的功能。也许这是一个解决方案?回答以下几点:1)我的目标是在本地使用db,例如H2。。。但是怎么做呢?2) 作为db的替代方案,Mock是一个很好的解决方案。。。但是怎么做呢?3) 我不想测试db 4)没有提供本地安装,我的帖子的目的只是让一个人对以下几点做出回应:1)我的目标是在本地使用db,比如H2。。。但是怎么做呢?2) 作为db的替代方案,Mock是一个很好的解决方案。。。但是怎么做呢?3) 我不想测试db 4)没有提供本地安装,我的文章的目的就是要有一个