Tôi đang sử dụng Mock để thay thế phương thức từ một lớp với một giá trị trả về cụ thể. Nó hoạt động rất tốt, có thể một chút quá tốt ... Tôi làm điều này (xem bên dưới), nhưng trong lớp kiểm tra tiếp theo, tôi sử dụng lại lớp mật khẩu mà không chế nhạo, và mô hình được đặt trong thử nghiệm đó vẫn hiệu quả.Python undo method 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)
Tôi đã cố gắng hoàn tác mô hình bằng phương pháp TearDown bằng cách thực hiện một việc như thế này nhưng không hoạt động.
pass_helper._get_password_from_keyboard = pass_helper._get_password_from_keyboard
Làm cách nào để khôi phục chức năng gốc của phương pháp lớp học?
Dường như đang khắc phục sự cố của tôi, cảm ơn! :) – Amaranth
sau khi tôi làm điều này, tôi nhận được 'unbound method xxx phải được gọi với xxx instance làm đối số đầu tiên (có int thay vì)' –