лучшая практика по настройке Python unittest?
Моя цель - создать репозиторий GitHub с модулем и модульными тестами, которые другие разработчики могут проверить и над которыми могут работать, включая запуск модульных тестов. Этот модуль выполняет манипуляции с PDF-файлами, поэтому мне нужно предоставить несколько образцов PDF-файлов для тестирования, а также пути для входов и выходов. Я поместил файл.ini и несколько примеров PDF-файлов за пределы корня исходного кода. SetUp моего модульного теста имеет один жестко заданный относительный путь к файлу.ini, который содержит все остальные входные данные, необходимые для модульных тестов:
class TestPDF(unittest.TestCase):
def setUp(self):
config = configparser.ConfigParser()
config.read('../../data/tests/test_config.ini')
self.test_file_path = config['PATHS']['test_file_path']
# ...create additional config variables...
Эти переменные, такие как self.test_file_path
, затем доступны во всех модульных тестах этого класса. Вот моя структура папок:
Что касается конфигурации: это хороший способ передать конфигурацию моим модульным тестам? Это работает нормально, так что это вопрос лучших практик. Я предполагаю, что почти каждый модульный тест должен предоставлять какие-то входные данные, будь то данные файла, URL-адреса, пути, фрагменты SQL, учетные данные, токены и т. Д., Так каково соглашение?
Что касается файлов PDF: я сохранил их как можно меньше, просто для тестирования (200 КБ). Опять же, технически это работает нормально, но как репозитории обычно доставляют такие файлы данных?