Небольшой, но полный пример проекта Python

задняя часть Python

Это 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

Непрерывное обучение и постоянное развитие, я Лей Академический комитет! Программирование — это весело, и ключ в том, чтобы досконально понять технологию. Это не легко создать, пожалуйста, поддержите много, лайкните и соберите, чтобы поддержать академический комитет!