У меня есть метод python, такой как
import external_object
from external_lib1 import ExternalClass1
from external_lib2 import Hook
class MyClass(self):
def my_method(self):
ExternalClass.get('arg1') #should be mocked and return a specific value with this arg1
ExternalClass.get('arg2') #should be mocked and return a specific value with this arg2
def get_hook(self):
return Hook() # return a mock object with mocked method on it
def my_method(self):
object_1 = external_object.instance_type_1('args') # those are two different object instanciate from the same lib.
object_2 = external_object.instance_type_2('args')
object_1.method_1('arg') # should return what I want when object_1 mocked
object_2.method_2 ('arg') # should return what I want when object_2 mocked
В моем тесте я хотел бы понять, что я помещаю в комментарии.
Я мог бы сделать это, но каждый раз, когда он получаетдействительно грязныйЯ использую для вызова flexmock некоторые вещи (например, ExternalClass.get ('arg1') будет издеваться над flexmock(ExternalClass).should_return('arg').with_args('arg') # etc...
), но мне надоело использовать разные тестовые библиотеки для насмешки.
Я бы хотелиспользовать только фиктивную библиотеку, но я изо всех сил пытаюсь найти последовательный способ сделать это.