Допустим, у нас есть этот класс, который извлекает данные из DWH
from utils import fetch_data
class MyClass(self):
def __init__(self):
self.__query_name = 'query_name'
self.__data = None
@property
def query_name(self):
return self.__query_name
@property
def data(self):
if self.__data:
return self.__data.copy(deep=True)
def fetch_data(self):
self.__data = fetch_data(query_name=self.__query_name)
Я хотел бы проверить поведение метода fetch_data
с помощью pytest.чтобы сделать это, мне нужно изменить __query_name
на «query_name_test», чтобы не попадать в производственную базу данных.У вас есть какие-нибудь предложения?
На данный момент я делаю это, но я надеюсь, что есть лучший способ
my_class = MyClass()
my_class.__dict__['_MyClass__query_name'] = 'query_name_test'