El protocolo Test Anything ( TAP ) es un protocolo para la comunicación entre la lógica de prueba , denominada productor TAP, y un conjunto de pruebas de una manera independiente del lenguaje . Originalmente desarrollado para pruebas unitarias del intérprete de Perl en 1987, los productores y analizadores están ahora disponibles para muchas plataformas de desarrollo.
Historia
TAP fue creado para la primera versión del lenguaje de programación Perl (publicada en 1987), como parte del conjunto de pruebas de Perl ( t/TEST). El Test::Harness módulo fue escrito por Tim Bunce y Andreas König para permitir que los autores de módulos Perl aprovecharan TAP. Se convirtió en el estándar de facto para las pruebas de Perl. [1] [2] [3]
El desarrollo de TAP, incluida la estandarización del protocolo, la redacción de pruebas para productores y consumidores y la difusión del lenguaje, se coordina en el sitio web TestAnything. [4]
Como protocolo independiente del lenguaje de programación, las bibliotecas de pruebas unitarias TAP se expandieron más allá de sus raíces en Perl y se han desarrollado para varios lenguajes y sistemas como PostgreSQL , [5] MySQL , [6] JavaScript [7] y otras implementaciones enumeradas en el sitio del proyecto. [4] Una biblioteca TAP C está incluida como parte de la distribución FreeBSD Unix y se utiliza en el conjunto de pruebas de regresión del sistema. [8]
Especificación
Existe una especificación formal para este protocolo en los módulos TAP::Spec::Parsery TAP::Parser::Grammar. El comportamiento del Test::Harnessmódulo es la implementación estándar de facto de TAP, junto con una descripción de la especificación en https://testanything.org.
En agosto de 2008 se inició un proyecto para producir un estándar IETF para TAP, en YAPC ::Europe 2008. [4]
Ejemplos
A continuación se muestra un ejemplo del formato general de TAP:
1..48
ok 1 Descripción # Directiva
# Diagnóstico
....
ok 47 Descripción
ok 48 Descripción
Por ejemplo, la salida de un archivo de prueba podría verse así:
1..4
ok 1 - El archivo de entrada se abrió
mal 2 - La primera línea de la entrada es válida.
Más resultados de la prueba 2. Puede haber
Número arbitrario de líneas para cualquier salida.
siempre y cuando haya al menos algún tipo
de espacio en blanco al principio de línea.
ok 3 - Leer el resto del archivo
#TAP meta información
no ok 4 - Resumido correctamente # TODO : aún no escrito
Véase también
- xUnit – Clase de marcos de pruebas unitarias similares
Referencias
- ^ "Una caja de herramientas de Perl para pruebas de regresión: Herramientas de prueba". Nnc3.com . Consultado el 27 de octubre de 2017 .
- ^ Schilli, Mike. «Imprima como pueda imprimirse» Linux Magazine. Linux Magazine . Consultado el 27 de octubre de 2017 .
- ^ Szabo, Gabor. "TAP - Test Anything Protocol". Perl Maven . Consultado el 7 de agosto de 2019 .
- ^ abc "El sitio web del protocolo Test Anything". Testanything.org . Consultado el 4 de septiembre de 2008 .
- ^ McClive, Simon (21 de septiembre de 2017). "Pruebas unitarias de Postgres con pgTAP". Medium . Consultado el 7 de agosto de 2019 .
- ^ Gravelle, Rob (13 de agosto de 2012). "Prueba de procedimientos almacenados de MySQL con MyTAP". Database Journal . Consultado el 7 de agosto de 2019 .
- ^ "Node Tap". Node Tap . Consultado el 7 de agosto de 2019 .
- ^ "Página del manual de TAP(3)". FreeBSD . Consultado el 7 de agosto de 2019 .
Enlaces externos
- Sitio dedicado a la discusión, desarrollo y promoción de TAP