В нашем пакете есть несколько примеров сценариев, которые показывают, как можно использовать пакет.
Всякий раз, когда мы вносим критическое изменение в мой пакет, примеры могут нуждаться в обновлении. Прямо сейчас мне нужно вручную отслеживать это, проверяя, выполняются ли еще примеры сценариев. Есть ли способ добавить функцию test_examples в мою настройку модульного тестирования, которая не утверждает возвращаемое значение конкретной функции, а просто запускает все (или определенные) файлы в папке примеров и проверяет, что эти сценарии выполняются без ошибок?
Насколько я вижу, ваша ссылка показывает только типичный вариант использования, утверждающий, что возврат конкретной функции соответствует ожидаемому, а не то, работает ли скрипт, который вызывает несколько функций, без ошибок.
Конечно, вы должны охватить все функции в своем коде. Каждая функция в вашем коде должна иметь кучу тестов для каждого типа возможных ошибок. И эта ссылка ведет на документацию, а не на прямую статью, так что читайте глубже.
Это было намного проще, чем я думал. Мне просто нужно было добавить тестовую функцию в мою настройку pytest, которая импортировала примеры сценариев. Поскольку эти скрипты не защищены оператором if __name__ == "__main__":
, запускается весь контент. Если на этом пути возникнут ошибки, импорт и, следовательно, тест завершится ошибкой.
Документация docs.pytest.org/en/latest/getting-started.html не является ответом?