我正在使用Mock来替换一个类中的方法,并指定返回值。它运行得非常好,甚至有点太好了......我是这样做的(参见下文),但在下一个测试类中,我重新使用了未经模拟的密码类,该测试中放置的模拟仍然有效。
from utils import password as pass_helper
class TestPassword(unittest.TestCase):
def setUp(self):
self.username = "user"
self.password = "Test_1234_pass"
pass_helper._get_password_from_keyboard = Mock(return_value=self.password)
def test_password(self):
password = pass_helper._get_password_from_keyboard(self.username)
self.assertEqual(password, self.password)
我试图通过类似以下方式在TearDown方法中撤销模拟,但它不起作用。
pass_helper._get_password_from_keyboard = pass_helper._get_password_from_keyboard
我该如何恢复类方法的原始功能?