Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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 DAO测试的优雅方式_Java_Unit Testing_Testing_Integration Testing_Dao - Fatal编程技术网

Java DAO测试的优雅方式

Java DAO测试的优雅方式,java,unit-testing,testing,integration-testing,dao,Java,Unit Testing,Testing,Integration Testing,Dao,我想改进我的DB访问代码测试 我正在使用GAE数据存储。为了测试Db类,我使用了一个后门Servlet。只是想知道,有没有更高效、更优雅的方法来进行DAO测试? 您对DAO的单元测试与集成测试的看法?这在一定程度上取决于数据库的设置方式。除了您已有的选项之外,这里还有几个其他选项: 您可以直接针对DAO编写单元测试。您可以使用mockito模拟数据库调用 您可以编写单元测试来记录与数据库的集成,然后在第二次运行测试时重新进行测试。请参阅betamax库以了解这一点 您可以对实际数据库运行单元测

我想改进我的DB访问代码测试

我正在使用GAE数据存储。为了测试Db类,我使用了一个后门Servlet。只是想知道,有没有更高效、更优雅的方法来进行DAO测试?
您对DAO的单元测试与集成测试的看法?

这在一定程度上取决于数据库的设置方式。除了您已有的选项之外,这里还有几个其他选项:

  • 您可以直接针对DAO编写单元测试。您可以使用mockito模拟数据库调用
  • 您可以编写单元测试来记录与数据库的集成,然后在第二次运行测试时重新进行测试。请参阅betamax库以了解这一点
  • 您可以对实际数据库运行单元测试。现在它不再是单元测试,而是一种集成测试。在这种情况下,您需要考虑如何在数据库中获得一个干净的状态
  • 您可以对整个系统运行集成测试,并确保通过使用代码覆盖率工具来处理大多数数据库代码
我更喜欢对整个事情进行全面的集成测试,包括数据库和任何其他第三方集成。以及对细节进行单元测试,但不一定涉及实际的数据库调用。但是,和往常一样,你的设置可能会把你引向其他方向