Python/Справочник по библиотеке Python 2.6: различия между версиями
Содержимое удалено Содержимое добавлено
Tatyr (обсуждение | вклад) |
Tatyr (обсуждение | вклад) |
||
Строка 115:
<p>Каркас модульного тестирования Python, иногда называемый «PyUnit», является Python-версией JUnit Кента Бека и Эрика Гамма. JUnit, в свою очередь, — Java версия каркаса тестирования Smalltalk написанного Кентом. Все перечисленные каркасы являются де-факто стандартными каркасами модульного тестирования для соответствующих языков.</p>
<p>'''unittest''' поддерживает автоматизацию тестов, общее использование кода инициализации и завершения тестов, объединение тестов в коллекции и независимость тестов от
<p>Для достижения таких
<ul><li>
Окружение теста (test fixture)<br>
Под окружением теста подразумевается
Тестовый вариант (test case).<br>
Тестовый вариант является наименьшим элементом тестирования. Он проверяет соответствие отклика объекта определенным входным данным. В unittest тестовые варианты создаются с помощью базового класса '''TestCase''';
</li><li>Набор тестов (test suite)<br>
Набор тестов это коллекция тестовых вариантов, наборов тестов, или и того и другого сразу. Набор используется для объединения тестов которые должны выполняться вместе;
</li><li>Исполнитель тестов<br>
Исполнитель тестов это компонент управляющий выполнением тестов и сообщающий пользователю результаты
</li></ul>
Понятия тестового варианта и окружения теста реализуются классами '''TestCase''' и '''FunctionTestCase'''; первый следует использовать при создании новых тестов, а второй используется при интеграции кода уже написанных тестов с каркасом модульных тестов. При создании тестового окружения с помощью '''TestCase''', методы '''setUp()''' и '''tearDown()''' могут
Наборы тестов реализуются с помощью класса '''TestSuite'''. Данный класс позволяет объединять отдельный тесты и наборы тестов. При выполнении набора, выполняются все тесты добавленные непосредственно в набор и в дочерние тестовые наборы.
Исполнитель теста это объект предоставляющий единственный метод '''run()''', принимающий экземпляр класса '''TestCase''' или '''TestSuite''' как параметр и возвращающий результирующий объект. Результирующим объектом является экземпляр класса '''TestResult'''. В комплект '''unittest''' входит пример исполнителя теста – класс '''TextTestRunner''', возвращающий результаты тестов в потоке сообщений об ошибках по умолчанию. Альтернативные исполнители тестов могут реализовываться для других
Смотрите также:
Модуль '''doctest''' – еще один модуль поддержки тестирования с совершенно другим «ароматом».
Простое тестирование SmallTalk: С шаблонами – Оригинальная статья Кента Бека по тестовым каркасам использующим шаблоны, которые использует и '''unittest'''
'''Nose''' и '''py.test''' – Сторонние каркасы для модульного тестирования с более простым синтаксисом написания тестов.
Например '''func(10) == 42.'''
'''python-mock''' и '''minimock''' – Инструменты для создания тестовых квази-объектов (объектов имитирующих внешние ресурсы)
|