Mock 객체가 지정된 입력을 기반으로 특정 값을 반환하도록하려고합니다. 나는 SO에서 몇 가지 예를 찾아 보았고 어떤 이유로 든 여전히 작동시킬 수 없습니다. 여기 내가 지금 가지고있는 것이있다.side_effect가있는 Python 패치 객체
class EmailChecker():
def is_email_correct(email):
some regex to determine if email is valid, returns either True or False
def my_side_effect(**args):
if args[0] == '1':
return True
else:
return False
myMock = mock.patch.object(EmailChecker, 'is_email_correct', side_effect=my_side_effect)
아직 작동하지 않는 것 같습니다. 내가 여기서 무엇을 놓치고 있니? 다음 코드에서와 같이 장식 또는 컨텍스트 매니저로
은'func'은 무엇입니까 다음과 같이
my_side_effect
간단하게 할 수 있을까? – falsetru'* args' 대신'** args'가 필요한 이유는 무엇입니까? – falsetru
'** args'는 키워드 인자를 검사하고, * args는 위치 인자를 검사합니다. 따라서 @falsetru가 언급 할 때, 당신은 아마도'* args'를 원할 것입니다. –