конфиг для Python модульных тестов? - PullRequest
0 голосов
/ 14 января 2020

Я разрабатываю пакет, и у меня есть вопрос о настройке входных данных, необходимых для классов unittest. Мой пакет опирается на входные данные конфигурации, такие как имена хостов сервера, URL-адреса, номера портов, имя пользователя / пароли и т. Д. Все довольно настраиваемо, кроме расположения самого файла конфигурации. Это жестко запрограммировано в ../../../config/package_tests.ini. Если другой разработчик хочет запустить модульное тестирование, файл конфигурации поставляется с исходным кодом из GitHub, поэтому они могут его редактировать и запускать. Есть ли способ лучше?

Мой конечный пользователь не является разработчиком, но достаточно опытен, чтобы установить мой пакет с помощью pip и запустить несколько сценариев Python на своем ноутбуке в удаленном офисе. Я знаю, что с конфигурацией будут устранены некоторые неполадки, и у меня уже есть модульные тесты, которые проверяют все эти проблемы. Я думал, что пользователь может запустить модульные тесты, которые могут выводить в файл журнала, а затем они могут отправить его мне по электронной почте. Поскольку они запускают его из папки site-packages, относительный путь к конфигурации модульного теста больше не будет работать.

Во-первых, заставляет ли конечных пользователей запускать модульное тестирование из установленного пакета на неправильном пути? Я задаюсь вопросом, лучше ли мне было бы просто написать сценарий для садового сорта Python, который делает это Если так, каков наилучший способ использовать мои существующие модульные тесты? У меня там уже много функций диагностики c.

Если вы считаете, что конечные пользователи могут запускать модульные тесты: как мои тесты находят свою конфигурацию? Тесты, запущенные из исходного кода, в настоящее время работают, но при запуске из папки site-packages относительный путь к файлу конфигурации не работает. Я думаю, я мог бы проверить, есть ли я в папке site-packages, но что тогда?

...