Mockito.verify() 用法示例:验证方法调用
当我们使用Mockito框架进行单元测试时,通常会使用Mockito.verify()方法来验证测试中的某个行为是否发生。下面是一个使用Mockito.verify()的简单示例:\n\n假设我们有一个名为UserService的类,其中有一个deleteUser()方法用于删除用户。我们希望验证在调用deleteUser()方法后,相应的UserDao类的delete()方法是否被正确调用。\n\njava\npublic class UserService {\n private UserDao userDao;\n\n public UserService(UserDao userDao) {\n this.userDao = userDao;\n } \n\n public void deleteUser(String userId) {\n User user = userDao.getUserById(userId);\n if (user != null) {\n userDao.delete(user);\n }\n }\n}\n\npublic interface UserDao {\n User getUserById(String userId);\n void delete(User user);\n}\n\n\n在单元测试中,我们可以使用Mockito来模拟UserDao类,并验证delete()方法是否被正确调用:\n\njava\nimport org.junit.Test;\nimport org.mockito.Mockito;\n\npublic class UserServiceTest {\n @Test\n public void testDeleteUser() {\n // 创建一个UserDao的Mock对象\n UserDao userDao = Mockito.mock(UserDao.class);\n \n // 创建一个UserService对象,并将Mock对象传入\n UserService userService = new UserService(userDao);\n \n // 调用deleteUser()方法\n userService.deleteUser("123456");\n \n // 验证delete()方法是否被正确调用\n Mockito.verify(userDao).delete(Mockito.any(User.class));\n }\n}\n\n\n在上面的示例中,我们首先创建了一个UserDao的Mock对象,并将其传入UserService类的构造函数中。然后,我们调用deleteUser()方法,最后使用Mockito.verify()方法来验证delete()方法是否被正确调用。Mockito.verify()方法的参数是我们所期望的方法调用。\n\n如果delete()方法被调用了,且传入的参数是一个User对象(使用Mockito.any(User.class)来匹配任意的User对象),则验证通过。否则,测试将会失败。
原文地址: http://www.cveoy.top/t/topic/pMum 著作权归作者所有。请勿转载和采集!