Здравствуйте, коллеги! Мы собрали наш опыт использования unittest в Python в небольшую книжку и хотели бы поделиться ей с вами. В книге рассмотрены вопросы создания тестов, объединения их в группы, запуску и пропуску тестов. Данный материал распространяется бесплатно. Будем рады обратной связи и критике!

Вы можете скачать «Python.unittest» с нашего сайта.

Материал книги, в первую очередь, рассчитан на людей начинающих разбираться в тестировании, но уже знающие основы языка Python (желательно иметь представление о ООП составляющей Python). Мы постарались привести достаточное количество примеров, поэтому проблем с освоением темы быть не должно.

Хотелось бы сразу осветить вопрос появления данной книжки в исторической перспективе, из которой станет понятно, почему ее содержание именно такое. Дело в том, что перед нами встала задача тестирования пользовательского интерфейса десктопных приложений, и для ее решения мы выбрали SikuliX. Для работы с SikuliX используют Java или Python. Мы выбрали Python)) Следующим шагом стал вопрос автоматизации процесса запуска тестов и анализа результатов их прохождения. Логичным шагом в данном случае стало использование framework’а для тестирования, наш выбор пал на unittest. Его функционала было более чем достаточно, т.к. требовалось только создавать тесты, объединять их в группы, управлять процессом запуска и получать результат в удобном для анализа виде. Mock’и и прочие вещи нам были не нужны, во всяком случае пока. В результате, на тему тестирования и использования unittest было написано несколько статей, который были объединены в небольшую книжку «Python.unittest».

Содержание книги:
Глава 1. Введение
Автономное тестирование. Основные понятия
Framework’и для проведения автономного тестирования в Python
Пример тестирования приложения без framework’а
Пример тестирования приложения с использованием unittest
Глава 2. Написание тестов (класс TestCase)
Основные структурные элементы unittest
Запуск тестов
Интерфейс командной строки (CLI)
Графический интерфейс пользователя (GUI)
Работа с TestCase
Методы, используемые при запуске тестов
Методы, используемые при непосредственном написании тестов
Методы, позволяющие собирать информацию о самом тесте
Глава 3. Организация тестов (класс TestSuite)
Загрузка и запуск тестов
Класс TestSuite
Загрузка и запуск тестов
Класс TestLoader
Класс TestResult
Класс TextTestRunner
Глава 4. Пропуск тестов
Подготовка
Пропуск отдельных тестов в классе
Безусловный пропуск тестов
Условный пропуск тестов
Пропуск классов

Комментарии (10)


  1. Plesser
    10.10.2017 13:49
    +1

    Спасибо!


    1. marat_ab Автор
      10.10.2017 13:54
      +1

      Пожалуйста!


  1. Xalium
    10.10.2017 15:01
    +1

    Содержание не работает.


    1. marat_ab Автор
      10.10.2017 21:03

      Спасибо! Посмотрим!


  1. Sly_tom_cat
    10.10.2017 16:47
    +1

    Спасибо, обязательно прочитаю.
    Недавно сам озадачился тестированием и чисто на коленках уже воспользовался unittest. Но некоторой систематизации — явно не хватает, надеюсь книга поможет систематизировать уже полученные знания.


    1. marat_ab Автор
      10.10.2017 21:04

      Будем рады, если этот материал вам поможет!


  1. vasechka
    10.10.2017 20:48
    +1

    Почему unitest, а не pytest? Ведь писать тесты с помощью pytest быстрее и легче.


    1. marat_ab Автор
      10.10.2017 21:07

      Наверное самый правильный в этом случае ответ: «просто так сложилось»)). Хотя сейчас я бы внимательнее посмотрел на pytest, и вполне возможно остановился бы на нем. В общем никакого тайного умысла в нашем выборе не было.


  1. KvantSveta
    11.10.2017 07:54
    +1

    А планируется добавить информацию в книгу про mock`и?


    1. marat_ab Автор
      11.10.2017 07:55

      В ближайщее время нет. В будущем — вполне возможно!