Это мое приспособление:json_to_series: от серии json к серии pandas
Код: Выделить всё
@pytest.fixture(autouse=True, scope="module")
def mock_load_elec_ts(load_mock_data): """Mock load_elec_ts method.""" mock_ts = { ts_name: json_to_series(ts_data) for ts_name, ts_data in load_mock_data["assets"][0]["sub_asset"][ "temp_ts" ].items() }
with open(
"scripts/json_tests_files/ts_elec_combustion_and_total_france.json"
) as file:
ts_elec_combustion_and_total_france = json.load(file)
mock_france_ts = {
ts_name: json_to_series(ts_data)
for ts_name, ts_data in ts_elec_combustion_and_total_france.items()
}
with patch(
"ciara_computing.models.sub_asset.SubAsset.load_elec_ts",
autospec=True,
) as mock_method:
def side_effect(
self, ts_name, country_id=None, region_id=None, *args, **kwargs
):
pytest.set_trace()
if country_id == 27:
if ts_name in mock_france_ts:
return mock_france_ts[ts_name]
else:
raise KeyError(
f"Time series '{ts_name}' not found in mock_france_ts"
)
else:
if ts_name in mock_ts:
return mock_ts[ts_name]
else:
raise KeyError(f"Time series '{ts_name}' not found in mock_ts")
mock_method.side_effect = side_effect
yield mock_method`
Есть какие-нибудь советы по этому поводу?
Я пробовал вести журнал, но, похоже, он не входит в цикл по адресу Country_id = 27.
Я пытался имитировать данные отдельно, пробовал также область = функция
Подробнее здесь: https://stackoverflow.com/questions/791 ... satile-use