如何mock带实体参数的方法
工具/原料
mock
精确匹配:
1、棵褶佐峨还是先来看下被测试代码: 代码很直观,EmployeeController类中定义了两个方法,一个是findE罪焐芡拂mployeeByEmail,根据email查询员工,调用employeeService.findEmployeeByEmail方法;另一个方法是isEmployeeEmailAlreadyTaken方法,判断某个员工是否存在,调用employeeService.employeeExists方法。
2、现在看下测试代码:
模糊匹配:
1、有时候,我们想要在匹配参数时更灵活些,可以使用模糊匹配。看下下面的测试方法:
任意匹配:
1、志蚺啧膏 另外一种参数匹配,即无论入参是什么值,都认为是匹配的。此例中,使用了anyString方式,即无论入参是什么字符串,都返回employee。此时可以看出给定的三个栓疠瑕愤字符串,都返回了employee。
自定义匹配:
1、除了使用自带的匹配方式之外,还可以自己定义相应的参数匹配方式。
2、最后,强调一点,对于多个参数的方法,如果我们其中一个参数使用了参数匹配模式,那么所有的参数都必须使用参数匹配模式,下面的例子中的使用方式就是错误的:
3、 正确的方式为: