У меня есть класс, скажем, foo, в модуле 1.
class foo():
def __init__(var1, var2):
self.var1 = var1
self.var2 = var2
def method1(self):
pass
def method2(self):
pass
foo_ = foo("blah", "blah")
Объект foo_ широко используется в различных модулях в кодовой базе. Я должен написать тест для метода в модуле 2, который использует объект foo_.
Модуль 2:
from module1 import foo_
import module3
def blah():
foo_.method1()
module3.random_method()
return blah
random_method в модуле 3 также импортирует и вызывает другой метод foo_ . В моем тестовом модуле есть фиктивный объект foo_. Тест предназначен для метода blah. Вот что у меня есть.
Тестовый модуль:
from module1 import foo
from module2 import blah
@pytest.fixture()
def dummy_foo_():
var1 = 'blah'
var2 = 'blah'
return foo(var1,var2)
def test_blah(dummy_foo_):
assert blah() == 'blah'
Есть ли способ заставить test_blah работать там, где метод blah будет использовать фиктивный объект foo_ вместо один импортированный в модуль 1?