5
모의를 사용하여 클래스의 메소드를 특정 반환 값으로 대체하려고합니다. 그것은 매우 잘 어쩌면 조금은 잘 될 것입니다. 나는 이것을 수행합니다 (아래 참조).하지만 다음 테스트 클래스에서는 조롱하지 않고 패스워드 클래스를 재사용합니다.이 테스트에 배치 된 모의 객체는 여전히 효과적입니다. 파이썬 실행 취소 메소드 가짜
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)
나는 이런 식으로 뭔가를 수행하여 분해 방식의 모의을 취소하려했지만 작동하지 않습니다.
pass_helper._get_password_from_keyboard = pass_helper._get_password_from_keyboard
어떻게 클래스 메서드의 원래 functionnality를 복원 할 수 있습니까?
내 문제를 고쳤습니다. 감사합니다. :) – Amaranth
이 작업을 수행 한 후 언 바운드 메소드 xxx가 xxx 인스턴스를 첫 번째 인수로 호출해야합니다 (int가 대신 있음). –