Имеет ли патч в светильнике универсальное применение?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Имеет ли патч в светильнике универсальное применение?

Сообщение Anonymous »

Я пытаюсь исправить функцию для своих тестов. Первоначально эта функция вызывает базу данных, у меня есть фиктивные данные в двух разных JSON-файлах, потому что мне нужно обработать 2 случая, когда имя моей временной серии одинаковое, но идентификатор страны другой:
Это мое приспособление: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.
Есть какие-нибудь советы по этому поводу?
Я пробовал вести журнал, но, похоже, он не входит в цикл по адресу Country_id = 27.
Я пытался имитировать данные отдельно, пробовал также область = функция

Подробнее здесь: https://stackoverflow.com/questions/791 ... satile-use
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»