stringtranslate.com

Протокол проверки чего угодно

Test Anything Protocol ( TAP ) — это протокол для связи между тестовой логикой, называемой производителем TAP, и тестовой обвязкой в ​​языково-независимом режиме. Первоначально разработанные для модульного тестирования интерпретатора Perl в 1987 году, производители и парсеры теперь доступны для многих платформ разработки.

История

TAP был создан для первой версии языка программирования Perl (выпущенной в 1987 году) как часть основного тестового комплекта Perl ( t/TEST). Test::Harness Модуль был написан Тимом Бансом и Андреасом Кёнигом, чтобы позволить авторам модулей Perl воспользоваться преимуществами TAP. Он стал фактическим стандартом для тестирования Perl. [1] [2] [3]

Разработка TAP, включая стандартизацию протокола, написание производителей и потребителей тестов, а также пропаганду языка, координируется на веб-сайте TestAnything. [4]

Как протокол, не зависящий от языка программирования, библиотеки модульного тестирования TAP вышли за рамки своих корней Perl и были разработаны для различных языков и систем, таких как PostgreSQL , [5] MySQL , [6] JavaScript [7] и других реализаций, перечисленных на сайте проекта. [4] Библиотека TAP C включена как часть дистрибутива FreeBSD Unix и используется в наборе регрессионных тестов системы. [8]

Спецификация

Формальная спецификация для этого протокола существует в модулях TAP::Spec::Parserи TAP::Parser::Grammar. Поведение модуля Test::Harnessявляется фактической реализацией стандарта TAP, а описание спецификации можно найти на https://testanything.org.

Проект по созданию стандарта IETF для TAP был инициирован в августе 2008 года на YAPC ::Europe 2008. [4]

Примеры

Вот пример общего формата TAP:

1..48 ok  1 Описание # Директива # Диагностика....ok  47 Описание ok  48 Описание

Например, вывод тестового файла может выглядеть так:

1..4 ok  1 - Входной файл открыт неправильно  2 - Первая строка входных данных верна. Дополнительные результаты теста 2. Могут быть произвольное количество строк для любого вывода пока есть хоть какой-то вид пробела в начале строки.ok  3 - Прочитать остальную часть файла #TAP meta information not ok  4 - Коротко изложено правильно # TODO : еще не написано

Смотрите также

Ссылки

  1. ^ "A Perl toolbox for regression tests : Testing Tools". Nnc3.com . Получено 27 октября 2017 г. .
  2. ^ Шилли, Майк. «Печать как печать может » Linux Magazine». Linux Magazine . Получено 27 октября 2017 г. .
  3. ^ Сабо, Габор. "TAP - Test Anything Protocol". Perl Maven . Получено 2019-08-07 .
  4. ^ abc "Веб-сайт протокола Test Anything". Testanything.org . Получено 4 сентября 2008 г.
  5. ^ МакКлайв, Саймон (21.09.2017). "Модульное тестирование Postgres с помощью pgTAP". Medium . Получено 07.08.2019 .
  6. ^ Гравелль, Роб (2012-08-13). "Тестирование хранимых процедур MySQL с помощью MyTAP". Database Journal . Получено 2019-08-07 .
  7. ^ "Node Tap". Node Tap . Получено 2019-08-07 .
  8. ^ "Страница руководства TAP(3)". FreeBSD . Получено 2019-08-07 .

Внешние ссылки