Это 6-й день моего участия в августовском испытании обновлений.Подробности о мероприятии:Испытание августовского обновления
Ранее я поделился несколькими небольшими работами по разработке Python, и я не слишком много упоминал об организации проекта.
В этой статье показана общая структура проекта Python.
Преимущество Python в том, что код прост для понимания, а уровень языка лаконичен.
Однако, поскольку это слишком просто, структура различных проектов различна.Эта статья демонстрирует метод организации проекта, обычно используемый академическим комитетом.
как показано в следующем каталоге
|- (корневой каталог)
|--requirements.txt # Библиотека зависимостей проекта
|--test_requirements.txt # Проверка зависимостей
|--setup.py # Скрипт конфигурации проекта
|--python_sample #это пакет, в котором находится код
|--tests # Каталог тестового кода
Знакомство с другими документами
.gitignore # Требуется для git-подобных хранилищ кода, используется для игнорирования регистрации определенных файлов.
pyvenv.cfg & bin & lib # создано virtualenv
.coverage && htmlcov # создано покрытием pytest
Разработка проекта
pip install -r requirements.txt
pip install -r test-requirements.txt
монтажный проект
python setup.py install
запустить код
python -m python_sample.demo # Запустить основную функцию демонстрационной программы в модуле примера
запустить тестовый код
cd tests && pytest
Посмотреть тестовое покрытие
pytest --cov=python_sample tests
pytest --cov=python_sample --cov-report=html
Отчеты о тестировании создаются в каталоге htmlcov.
анализ кода
программа demo.py
- Определяет функцию добавления, которая выполняет добавление двух параметров
- Определяет основную функцию, которая принимает переменные параметров
- Конец определяет вход программы и передает параметры основной функции.
Запустите демонстрационную программу в модуле python_sample.
Разбор тестового кода
В этой статье используется функция assert pytest, которую проще использовать, чем unittest.
Простое использование этой статьи:утвердить результат сравнения вызовов целевой функции, который заключается в следующем:assert add(1,1) == 2
постскриптум
Написание кода без написания тестов является мошенническим или не хочет, чтобы его использовали другие.
Таким образом, когда создается отчет о тестировании, другие видят, что степень охвата высока, и его можно использовать с большей уверенностью.
Кстати, академический комитет тоже имеет это, чтобы сосредоточиться на долгосрочном чтении =>Подборка интересных историй о программировании от Лэй Сюэвэяили =>Академический комитет Lei NodeJS Hobby Series
Непрерывное обучение и постоянное развитие, я Лей Академический комитет! Программирование — это весело, и ключ в том, чтобы досконально понять технологию. Это не легко создать, пожалуйста, поддержите много, лайкните и соберите, чтобы поддержать академический комитет!