我是单元测试的新手。我想知道如何使用mock框架来模拟数据库。我厌倦了寻找。
你不像你说的那样"模拟数据库"。mock框架的目的如下:
假设你有一个名为myMethod()
的方法,它调用了一些你相信可以工作的第三方方法,因此没有在测试中。
你告诉mock框架:
- 当
myMethod()
使用参数x和y调用thirdPartMethod1()
时,它将返回z -
myMethod()
调用thirdPartyMethod2()
4次,参数分别为a、b、c、d。如果没有,请测试失败
因此,mock框架将自己代替第三方方法,并在您设置它时返回它被告知的内容,例如,当myMethod()
调用thirdPartMethod1()
时,它将返回预期的结果。
它还将检查调用是否如预期的那样,例如,thirdPartyMethod2()
确实使用正确的参数调用了正确的次数。
如果您确实必须使用数据库,请考虑DBUnit