Protokół Testuj wszystko
Test Anything Protocol ( TAP ) jest protokołem umożliwiającym komunikację między testami jednostkowymi a wiązką testową . Umożliwia poszczególnym testom (producentom TAP) przekazywanie wyników testów do wiązki testowej w niezależny od języka . Pierwotnie opracowany do testowania jednostkowego interpretera Perla w 1987 roku, producenci i parsery są teraz dostępne dla wielu platform programistycznych.
Historia
TAP został stworzony dla pierwszej wersji języka programowania Perl (wydanej w 1987 roku), jako część podstawowej wiązki testowej Perla ( t/TEST
). Moduł Test ::Harness
został napisany przez Tima Bunce'a i Andreasa Königa, aby umożliwić autorom modułów Perla korzystanie z TAP. Stał się de facto standardem testowania Perla.
Rozwój TAP, w tym standaryzacja protokołu, pisanie przez producentów testów i konsumentów oraz ewangelizacja języka jest koordynowana na stronie internetowej TestAnything.
Jako protokół, który jest niezależny od języka programowania, biblioteki testów jednostkowych TAP rozszerzyły się poza swoje korzenie w Perlu i zostały opracowane dla różnych języków i systemów, takich jak PostgreSQL , MySQL , JavaScript i inne implementacje wymienione na stronie projektu. Biblioteka TAP C jest częścią dystrybucji FreeBSD Unix i jest używana w zestawie testów regresji systemu.
Specyfikacja
Formalna specyfikacja tego protokołu znajduje się w modułach TAP::Spec::Parser
i TAP::Parser::Grammar
. Zachowanie Test::Harness
jest de facto implementacją standardu TAP, wraz z zapisem specyfikacji na https://testanything.org .
Projekt mający na celu stworzenie standardu IETF dla TAP został zainicjowany w sierpniu 2008 roku na YAPC :: Europe 2008.
Przykłady użycia
Oto przykład ogólnego formatu TAP:
1..48 ok 1 Opis # Dyrektywa # Diagnostyka .... ok 47 Opis ok 48 Opis
Na przykład dane wyjściowe pliku testowego mogą wyglądać następująco:
1..4 ok 1 - Plik wejściowy nie został otwarty 2 - Pierwsza linia wejścia jest poprawna. Więcej danych wyjściowych z testu 2. Dla każdego wyjścia może być dowolna liczba wierszy, o ile na początku wiersza znajduje się przynajmniej pewien rodzaj spacji. ok 3 - Przeczytaj resztę pliku #TAP metainformacje nie ok 4 - Poprawnie podsumowane # DO ZROBIENIA : jeszcze nie napisane