unit-тесты

Unit-тест - это тест, который используетсядля проверки работы одной функции приложения.Модульное тестирование, или юнит-тестирование (англ. unit testing) — процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы. Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок. Если тесты в проекте действительно запускаются, то их много. И каждый из них – атомарный: один тест проверяет только одну вещь. Тест является спецификацией метода класса, контрактом: какие входные параметры ожидает этот метод, и что остальные компоненты системы ждут от него на выходе. Текста немного: обычно пара страниц, с описанием основных фич, схем серверов и getting started guide’ом. В этом случае проект не зависит от людей. Разработчики могут приходить и уходить. Система надежно протестирована и сама рассказывает о себе путем тестов. Структура теста: 1. Передача в тест входных данных. Данные могут отсутствовать. 2. Ожидаемый результат выполнения функции. 3. Вызов функции для получения фактического результата. 4. Сравнение ожидаемого и фактического результа. Тест считается пройденным тогда, когда ожидаемый результат совпал с фактическим. Тесты пишутся в отдельном файле. И нами будет рассматриваться билиотека unittest

import unittest

Для тестов создается отдельный класс и к файлу подключантся класс, который мы хотим протестировать.

from password import Password

Название функции теста должно отображать, что именно тестируем. Принято писать один тест, который проверяет, что при вводе корректных данных, программа выдаст корректный результат и несколько тестов, которые проверяют как себя ведет программа при вводе некоррекных данных. Для запуска необходимо: 1 скачать и перенести в проект файл с расширением .txt, в котором прописаны все часто встречающеся пароли; 2 запустить в терминале тест с помощью следующей команды

python <название файла>.py -v

Чтобы тест запустился необходимо в конце файла указать следующие строчки кода:

if __name__ == "__main__":
  unittest.main()

Для запуска процесса тестирования, сначала создаем экземпляр класса, который будем тестировать:

def setUp(self):
  self.password = Password()