Unit тесты в Python

Как работать с unittest на языке Python делаем unit тест
Метки: / /

В этой статье мы разберём как работать с unittest в Python, думаю всем будет очень полезно и интересно.

Также посмотрите статью: «Простой калькулятор на Python», так как на базе этого калькулятора мы и будем тестировать.

Подготовка проекта:

Для начала нам нужно подготовить проект, вы можете этот пункт пропустить, так как мне нужно подготовить калькулятор.

В начале создаём два файла, «calc.py», в нём мы будем хранить функции для вычислений калькулятора, и «test.py», в нём будет происходить всё тестирование.

Давайте поострим что будет в «calc.py»:

Как видите у нас тут несколько функций, которые отвечают за складывание, вычитание, умножение и деление соответственно, их и будем тестировать, так же можете добавить их в калькулятор, но это не обязательно для теста.

Как работать с unittest в Python:

Теперь перейдём к самому тестированию, тесты будем писать в «test.py», вот что должно быть в нём:

Как видите в самом начале файла мы импортируем библиотеку unittest и наш файл «calc.py» где находиться все функции для работы калькулятора.

Потом создаём класс Test, который унаследуем от класса TestCase, это пожалуй самое важное что нужно делать в в классе для тестирования.

Внутри него создаём несколько методов, которые будут запускаться поочерёдно во время тестирования.

Каждый метод использует метод assertEqual(), который в качестве параметров принимает в себя функцию которую нужно проверить, и значение которая она должна вернуть, если она возвращает другое значение, то при тестирование появится ошибка, таким образом и делаем unit тест в Python.

Последние что мы делаем, это код для запуска программы, внутри условия if __name__ == '__main__', мы запускаем unittest.

Для запуска тестирования введите команду в консоль:

Вот что должно появиться в консоли:

Как видите у нас всё запустилось, и работает, если же была ошибка, то он бы это вывел.

Тестирование классов:

Не много стоит упомянуть про тестирование классов, по сути всё точно так же, как и с обычными функциями, нужно только объявить класс, сделать это можно таким образом:

То есть объявлять класс нужно во методе setUp(), по сути он работает как конструктор, поэтому его стоит знать.

Дальше для получения метода класса нужно сделать так:

Ну и конечно это всё делается внутри класса для тестирования.

Другие тесты:

Так же очень важно упомянуть другие методы, которые тестируют код, вот их список:

  • assertNotEqual() — Тоже самое что и assertEqual(), но проверяет не равенство;
  • assertTrue() — Смотрит чтобы функция возвращала True;
  • assertFalse() — Смотрит чтобы функция возвращала False;
  • assertIs(a, b) — a есть b;
  • assertIsNot(a, b) — a не есть b;
  • assertCountEqual(a, b) — a и b содержат те же элементы в одинаковых количествах, но порядок не важен;

Это конечно ещё не всё, но на мой взгляд это самые важные и вы будите использовать чаше всего.

Вывод:

В этой статье мы кратко разобрали как работать с unittest на языке программирования Python, думаю вам было интересно.

Также если вас заинтересовала библиотека, то посмотрите официальную документацию по ней.

Подписываетесь на соц-сети:

Оценка:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
(Пока оценок нет)
Загрузка...

Поделится:

Также рекомендую:

55058653