任何人请帮我找到如何使用mockito模拟数据库

时间:2014-05-21 10:17:39

标签: java database testing mocking mockito

我是单元测试的新手。我想知道如何使用mockito框架来模拟数据库。我厌倦了寻找。请帮帮我。

1 个答案:

答案 0 :(得分:2)

您不会嘲笑数据库'正如你所说。模拟框架的目的如下:

想象一下,您有一个名为myMethod()的方法,该方法调用您信任的第三方方法,因此未进行测试。

你告诉模仿框架:

  • myMethod()使用参数x和y调用thirdPartMethod1()时,它将返回z
  • myMethod()将分别使用参数a,b,c,d调用thirdPartyMethod2() 4次。如果没有,请通过测试。

因此,模拟框架本身将取代第三方方法,并在设置时返回它所告知的内容,例如:当myMethod()调用thirdPartMethod1()时,它会返回预期结果。

它还会检查调用是否符合预期,例如使用正确的参数确实将thirdPartyMethod2()称为正确的次数。

因此,当您模拟数据库调用时,您真正调用数据库。例如,您可以告诉Mockito基于JDBC ResultSet接口创建一个模拟器,并告诉它在使用某些参数调用时要返回什么,以及调用它上面的方法的次数以及调用方法的参数。实际数据库和真正的JDBC实现根本没有涉及。

如果您真的必须使用数据库,请考虑DBUnit