Próbuję mieć obiekt Mock zwracający pewne wartości na podstawie podanego danych wejściowych. Poszukałem kilku przykładów SO i z jakiegoś powodu nadal nie mogę go uruchomić. Oto, co mam teraz.Obiekt poprawki Pythona z parametrem side_effect
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)
Jednak nie wydaje się działać. Czego tu mi brakuje?
Jaki jest 'func'? – falsetru
Dlaczego '** argumenty' zamiast' * argumenty'? – falsetru
'' args' sprawdza argumenty słów kluczowych, '* argumenty' sprawdza argumenty pozycyjne. Tak więc, jak wspomina @falsetru, prawdopodobnie potrzebujesz '* args'. –