Я знаком с другими издевательскими библиотеками на других языках, таких как Mockito в Java, но библиотека Python mock
путает меня жизнь.
У меня есть следующий класс, который я бы хотел проверить.
class MyClassUnderTest(object):
def submethod(self, *args):
do_dangerous_things()
def main_method(self):
self.submethod("Nothing.")
В моих тестах я хотел бы убедиться, что submethod
был вызван при выполнении main_method
и что он был вызван с правильными аргументами. Я не хочу, чтобы submethod
запускался, так как он делает опасные вещи.
Я совершенно не уверен, как начать с этого. Макет документации невероятно трудно понять, и я не уверен, что даже макет или как насмехаться над этим.
Как я могу фальсифицировать функцию submethod
, оставив только функции main_method
?