假设我们有一个从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)
我想用pytest测试fetch_data
方法的行为。为此,我需要将__query_name
更改为'query_name_test',以免打入生产数据库。你有什么建议吗?
目前我正在这样做,但我希望有更好的方法
my_class = MyClass()
my_class.__dict__['_MyClass__query_name'] = 'query_name_test'