tl.testing

Скриншот программы:
tl.testing
Детали программы:
Версия: 0.5
Дата загрузки: 15 Apr 15
Разработчик: Thomas Lotze
Тип распространения: Бесплатная
Популярность: 5

Rating: nan/5 (Total Votes: 0)

tl.testing предоставляет различные утилиты, которые могут быть использованы при написании тестов & NBSP;. Он совместим с Python версии 2.6 и 2.7.
Песочницы каталогов и файлов
При тестировании кода, который модифицирует файлы и каталоги, это полезно, чтобы иметь возможность создавать и проверять образец дерево каталогов и файлов легко. Модуль tl.testing.fs обеспечивает поддержку создания дерева с текстовым описанием, перечисляя его в том же формате, и убирать за собой.
В тесте DOC, эти средства могут быть использованы, как это создать и указать каталог, то файл и символическую ссылку:
>>> От импорта tl.testing.fs new_sandbox, Ls
>>> New_sandbox ("" ​​"\
... Д Foo
... Е Foo / бар ASDF
... Л Баз -> Foo / бар
... "" ")
>>> Ls ()
л Баз -> Foo / бар
д Foo
е Foo / бар ASDF
Смотрите файл fs.txt найти с исходным кодом для дальнейших консультаций, в том числе, как установить и снести тесты, используя файл-системы песочницы.
Установка вызываемые скрипты
Некоторые функции можно хотите проверить делает использование внешних программ, таких как пейджер или текстовым редактором. Модуль tl.testing.script предоставляет утилиты, которые устанавливают простые макеты скрипты в местах, где код быть проверены найдете их. Они принимают строку Python кода и создать сценарий оболочки, который задает путь Python, чтобы соответствовать, что испытания и запускает код.
Это, как, например макет сценарий может быть использован в тесте Doc:
>>> От импорта установить tl.testing.script
>>> Script_path = установить ("печать" простого скрипта. ")
>>> Печати открытой (script_path) .read ()
#! ...

импорт SYS
sys.path [:] = [...]

Печать «Простой скрипт.
>>> Импорта подпроцесс
>>> Югу = subprocess.Popen (script_path, раковина = Правда, стандартный вывод = subprocess.PIPE)
>>> STDOUT, STDERR = sub.communicate ()
>>> Печати стандартный вывод
Простой скрипт.
Смотрите файл script.txt найти с исходным кодом для дальнейших возможностей, как установить и доступа макет скриптов, а также, как снести испытаний с использованием фиктивных скриптов.
Док-тестирование графического содержания Каира поверхностей
В то время как это прямо вперед, чтобы сравнить содержание двух Каире поверхностей в Python кода, обработки графики вне документирующих испытаний. Тем не менее, пакет Мануэль могут быть использованы для извлечения более тестовых из текстового документа, позволяя смешивать их с документирующих испытаний естественным образом.
Модуль tl.testing.cairo предоставляет пакет тестирования завод, который использует Мануэль выполнить графические тесты, сформулированные в реструктуризации текстовых фигур. Подпись такой фигуры, как предполагается, буквальное выражение Python, значение которого является Каир поверхность, и его образ используется в качестве тестового ожидания.
Это, как поверхность можно сравнить с ожидаемым изображения в тесте Doc:
>>> Импорта Каир
>>> От импорта resource_filename pkg_resources
>>> Изображения = resource_filename ('tl.testing', 'testimages / correct.png')
.. :: Показатель TL / тестирование / testimages / correct.png
& NBSP; `` cairo.ImageSurface.create_from_png (изображение) ``
Смотрите файл cairo.txt найти с исходным кодом для дальнейших консультаций и документации о возможном выходе испытаний.
Работа с потоками в тестовом коде
Стандартный класс TestCase не собирать ошибки и неудачи, которые произошли в других потоках, кроме основной. Модуль tl.testing.thread предоставляет классы резьбы и класс ThreadAwareTestCase чтобы только, что, как и некоторые другие удобства для тестов, которые имеют дело с потоками: предотвращение ожидаемых необработанных исключений в потоках от печатается с выходом теста, темы докладов оставил с помощью теста, бег код в демона нить, соединяющей темы и подсчета темы во время выполнения теста в:
>>> Время импорта
>>> Импорта tl.testing.thread
>>> Класс SampleTest (tl.testing.thread.ThreadAwareTestCase):
...
... Def test_error_in_thread_should_be_reported (само):
... С tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (лямбда: 1/0)
...
... Четкости test_active_count_should_count_only_new_threads (Self):
... С tl.testing.thread.ThreadJoiner (1):
... Self.run_in_thread (лямбда: time.sleep (0.1))
... Self.assertEqual (1, self.active_count ())
... Self.assertEqual (0, self.active_count ())
>>> Импорта UnitTest
>>> Выполнения (unittest.makeSuite (SampleTest))
================================================== ====================
ОШИБКА: test_error_in_thread_should_be_reported (__builtin __ SampleTest.)
-------------------------------------------------- --------------------
Traceback (самый последний вызов последнего):
& NBSP; ...
ZeroDivisionError: целочисленное деление по модулю или на ноль
-------------------------------------------------- --------------------
Ран 2 испытания в N.NNNs
НЕ (ошибки = 1)
Смотрите файл thread.txt найти с исходным кодом для более подробной информации о классе ThreadAwareTestCase.
Строительство тестовых наборов, которые используют Мануэль
Как Мануэль предоставляет некоторые мощные функции в дополнение к стандартным doctests, Мануэль наборы тестов настроены немного по-другому от стандартных. Tl.testing.doctest модуль реализует DocFileSuite завод, который может быть использован как стандартный один, но создает набор тестов, используя Мануэль и позволяет некоторые дополнительные настройки, связанные с Мануэлем, среди них способность интерпретировать сноски, которые использовали быть сделано с помощью устаревшие zope.testing.doctest:
>>> Sample_txt = записи ('sample.txt "," "" \
... [#footnote] _
... >>> Х
... 1
...
... .. [#footnote]
... >>> Х = 1
... "" ")
>>> От импорта DocFileSuite tl.testing.doctest
>>> Run (DocFileSuite (sample_txt, сноски = True))
-------------------------------------------------- --------------------
Ран 1 тест в N.NNNs
Хорошо
>>> Sample_txt = записи ('sample.txt "," "" \
... .. Код-блок :: питон
... Х = 1
...
... >>> Х
... 1
... "" ")
>>> Импорта manuel.codeblock
>>> Выполнения (DocFileSuite (sample_txt, Мануэль = manuel.codeblock.Manuel ()))
-------------------------------------------------- --------------------
Ран 1 тест в N.NNNs
ОК

Требования

  • Python

Похожие программы

nose-json
nose-json

14 Apr 15

AutobahnTestSuite
AutobahnTestSuite

20 Feb 15

teamcity-messages
teamcity-messages

15 Apr 15

TextTest
TextTest

18 Jul 15

Другие программы разработчика Thomas Lotze

Ophelia
Ophelia

15 Apr 15

tl.pkg
tl.pkg

15 Apr 15

Комментарии к tl.testing

Комментарии не найдены
добавить комментарий
Включите картинки!