Проверьте отсутствие импорта с помощью pytestPython

Программы на Python
Anonymous
Проверьте отсутствие импорта с помощью pytest

Сообщение Anonymous »


В файле __init__.py моего проекта у меня есть следующий код для получения текущей версии программы из файла pyproject.toml:< /п> при вводе import Any из метаданных импорта importlib пытаться: импортировать томлиб с open("pyproject.toml", "rb") в качестве файла_проекта: pyproject: dict[str, Any] = tomllib.load(project_file) __version__ = pyproject["инструмент"]["поэзия"]["версия"] кроме исключения как _: __версия__: str = метаданные.версия(__пакет__ или __имя__) Этот код отлично работает на Python 3.11 и новее. Однако в более старых версиях tomllib не существует, поэтому должно быть вызвано исключение (и версия будет определена с использованием метаданных)

При тестировании Python 3.11 с помощью pytest есть ли способ разработать тест, чтобы проверить, работает ли этот подход определения версии как с tomllib, так и без него, без необходимость создания второго венва без tomllib? Т.е. как я могу искусственно сгенерировать исключение, чтобы можно было протестировать обе ветки без необходимости переключения на разные версии?

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