Testa något protokoll

Test Anything Protocol ( TAP ) är ett protokoll som möjliggör kommunikation mellan enhetstester och en testsele . Det tillåter individuella tester (TAP-producenter) att kommunicera testresultat till testselen på ett språkagnostiskt sätt. Ursprungligen utvecklad för enhetstestning av Perl -tolken 1987, är producenter och analyserare nu tillgängliga för många utvecklingsplattformar.

Historia

TAP skapades för den första versionen av programmeringsspråket Perl (släpptes 1987), som en del av Perls kärntestsele ( t/TEST) . Test ::Harness -modulen skrevs av Tim Bunce och Andreas König för att göra det möjligt för Perl-modulförfattare att dra fördel av TAP. Det blev de facto standarden för Perl-testning.

Utveckling av TAP, inklusive standardisering av protokollet, skrivning av testproducenter och konsumenter, och evangelisering av språket koordineras på TestAnythings webbplats.

Som ett protokoll som är agnostiskt för programmeringsspråk, utökade TAP-enhetstestbiblioteken bortom sina Perl-rötter och har utvecklats för olika språk och system som PostgreSQL , MySQL , JavaScript och andra implementeringar listade på projektwebbplatsen. Ett TAP C-bibliotek ingår som en del av FreeBSD Unix-distributionen och används i systemets regressionstestsvit.

Specifikation

En formell specifikation för detta protokoll finns i modulerna TAP::Spec::Parser och TAP::Parser::Grammar . Test::Harness -modulens beteende är de facto TAP-standardimplementeringen, tillsammans med en uppskrivning av specifikationen på https://testanything.org .

Ett projekt för att ta fram en IETF- standard för TAP initierades i augusti 2008, på YAPC ::Europe 2008.

Användningsexempel

Här är ett exempel på TAP:s allmänna format:


 
   1..48  ok  1  Beskrivning  # Direktiv  # Diagnostisk  ....  ok  47  Beskrivning  ok  48  Beskrivning 

Till exempel kan en testfils utdata se ut så här:


   
  1..4  ok  1  - Inmatningsfil öppnad  inte ok  2  - Första raden i ingången giltig. Mer utdata från test 2. Det kan finnas godtyckligt antal rader för alla utdata så länge det finns åtminstone någon form av blanksteg i början av raden.   ok  3  - Läs resten av filen  #TAP metainformation  inte ok  4  - Sammanfattad korrekt  #  TODO  : inte skriven ännu 

Se även

externa länkar