Разработка через тестирование с помощью PyTest — часть 1
Это будет серия из 3 частей для всех, кто хочет ускориться и интегрировать методы тестирования TDD с помощью Pytest.
Когда я впервые начал изучать TDD, это был один из моих курсов по разработке программного обеспечения в университете.
Профессор вводил TDD с помощью Юнит что тогда я считаю, что это было больно настраивать и настраивать.
Плюс не вижу смысла в том, чтобы это было практикой разработчиков. Я просто отбрасываю это как хороший навык, но не обязательно используемый при разработке программного обеспечения.
Мне было неприятно отлаживать свой код всякий раз, когда я сталкивался с ошибкой в моем коде, которая приводила меня к TDD.
Мне нужно было бы постоянно понимать, что не так с кодом, что могло занять несколько часов, пока я искал ошибки в моей программе.
Затем вручную протестируйте его перед фиксацией мерзавец исправить ошибку в моем коде.
Таким образом, я искал лучший способ облегчить мою отладку, включив TDD.
Медленно, но верно я начал узнавать о TDD, читая такие книги, как Чистый код а также Разработка через тестирование на Python, Тестирование Python с помощью PyTest.
Мои знания расширились и еще больше укрепились благодаря работе с другими разработчиками над кодом kata в Developer Gym JuniorDev SG.
Питест представляет собой тестовую среду.
Это уменьшает количество шаблонного кода, необходимого для создания тестовых случаев.
По сравнению со стандартным тестовым фреймворком, входящим в состав Python, его гораздо проще освоить.
Который назывался Модульный тест который разработан на основе Юнит фреймворк для тестирования на Java.
Хорошо, прежде чем мы начнем создавать тестовые примеры, нам нужно настроить виртуальная среда & установка питест для начала.
Настройка виртуальной среды
Во-первых, нам нужно установить точка пакет под названием virtualenv
.
Я предполагаю, что вы используете систему на базе Linux или онлайн-облачную IDE с таких веб-сайтов, как РЕПЛ.
Вам предлагается продолжить, если вы установили virtualenv
и создал виртуальную среду под названием venv
в вашем терминале:
pip install virtualenv
Теперь, когда вы установили virtualenv
пакет через pip
. Вам нужно создать папку с именем tutorial
и создайте виртуальную среду с именем venv
в вашем терминале:
mkdir tutorial
cd tutorial/
virtualenv venv
После того, как вы создали виртуальную среду, вам нужно включить только что созданную виртуальную среду, введя следующую команду для Linux с помощью терминала:
source venv/bin/activate
Установка PyTest
Теперь давайте установим Питест среда тестирования в вашей виртуальной среде в вашей папке с именем tutorial
в терминале:
pip install pytest
Отлично, после того как вы установили pytest, вы можете ввести следующее, чтобы проверить, работает ли ваш pytest в терминале:
pytest
Вы должны увидеть что-то подобное после успешной установки PyTest.
Поздравляю с установкой Pytest
в свой проект. Примите успокоительное и давайте продолжим писать ваш первый тестовый пример.
Ладно, с возвращением!!! Я начну с того, что попрошу вас создать свой первый тестовый пример в pytest.
Но сначала мы должны создать файл с именем test_tutorial.py
:
touch test_tutorial.py
По умолчанию pytest распознает тестовые файлы при запуске с test_something.py
.
Теперь мы создадим тестовый пример с именем test_return_sum
проверить return_sum
функция:
def test_return_sum():
c = return_sum(1, 4)
assert c == 5
Теперь давайте запустим следующую команду в вашем терминале.
pytest
Вы заметите, что вывод будет иметь Ф рядом test_tutorial.py
.
F
означает, что тестовый пример не пройден, и этот тестовый пример называется test_return_sum
.
Отличительной особенностью PyTest является то, что он предоставляет полезный вывод о том, как реорганизовать код.
Что в данном случае является ошибкой, просто определяя return_sum
функция. Давайте сделаем это, определив return_sum
функция:
def return_sum(a, b):
return a+b
Теперь запустите pytest
еще раз введите команду в своем терминале, чтобы увидеть, проходит ли тестовый пример.
Вы заметите, что на выходе он покажет .
вместо предыдущего F
за test_tutorial.py
.
.
означает, что тестовый пример пройден, так как вы выполнили требование теста для его прохождения.
Поздравляем, вы впервые написали свой первый тестовый пример в pytest!!!!
Я надеюсь, что статья помогла вам начать использовать Pytest.
Фреймворк Pytest на самом деле довольно обширен, и мы едва коснулись его поверхности.
Я начну детализировать различные способы или приемы использования pytest и включу использование TDD во второй и третьей частях этой серии.
Если вам понравилась моя статья, пожалуйста зарегистрироваться для Макса Информационный бюллетень авантюриста за удивительный контент, который я натыкаюсь еженедельно в питон, Запускать а также Веб-разработка.
Вы также можете следить мне, чтобы получить последний обновление моей статьи о CodeMentor
Этот пост изначально был размещен в блоге Макса по адресу Разработка через тестирование с помощью PyTest. Часть 1. Время чтения: 4 минуты а также Фото Ханса-Петера Гаустера на Unsplash