如何检查函数是否在模拟方法中调用?
问题描述:
AuthUser是一个包含删除方法的类。 我想测试如果模拟删除方法调用一个函数,给定该方法的参数。如何检查函数是否在模拟方法中调用?
@mock.patch.object(AuthUser, 'delete')
@mock.patch('oscadmin.common.oscp.deactivate_user')
def test_delete(self, deactivate_user_mock, delete_mock):
"""Test the delete() method in AuthUser"""
authUserObject = mock.Mock()
authUserObject.oscp_id = 4
"""If delete_from_oscp = True && oscp_id isset"""
delete_mock(self, True, authUserObject, mock.Mock())
self.assertTrue(authUserObject.oscp_id)
答
delete_mock.method_expected_to_be_called.assert_called_once_with(args, kwargs)
delete_mock是模拟方法和deactivate_user_mock是,我需要检查,如果它调用的函数。 –