Тестируйте любой протокол
Эта статья нуждается в дополнительных цитатах для проверки . ( октябрь 2017 г. ) |
Протокол Test Anything ( 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 Description # Directive
# Diagnostic
....
ok 47 Description
ok 48 Description
Например, выходные данные тестового файла могут выглядеть так:
1..4
ok 1 - Input file opened
not ok 2 - First line of the input valid.
More output from test 2. There can be
arbitrary number of lines for any output
so long as there is at least some kind
of whitespace at beginning of line.
ok 3 - Read the rest of the file
#TAP meta information
not ok 4 - Summarized correctly # TODO: not written yet
См. также
[ редактировать ]- xUnit — класс аналогичных фреймворков модульного тестирования.
Ссылки
[ редактировать ]- ^ «Набор инструментов Perl для регрессионного тестирования: Инструменты тестирования» . Nnc3.com . Проверено 27 октября 2017 г.
- ^ Шилли, Майк. «Печать как печать » Журнал Linux» . Журнал Линукс . Проверено 27 октября 2017 г.
- ^ Сабо, Габор. «TAP — протестируйте любой протокол» . Перл Мейвен . Проверено 7 августа 2019 г.
- ^ Перейти обратно: а б с «Веб-сайт Test Anything Protocol» . Testanything.org . Проверено 4 сентября 2008 г.
- ^ МакКлайв, Саймон (21 сентября 2017 г.). «Модульное тестирование Postgres с помощью pgTAP» . Середина . Проверено 7 августа 2019 г.
- ^ Гравелл, Роб (13 августа 2012 г.). «Тестирование хранимых процедур MySQL с помощью MyTAP» . Журнал базы данных . Проверено 7 августа 2019 г.
- ^ «Узловой кран» . Узел Нажмите . Проверено 7 августа 2019 г.
- ^ «Страница руководства TAP(3)» . FreeBSD . Проверено 7 августа 2019 г.