Test Anything 프로토콜
Test Anything ProtocolTest Anything Protocol(TAP)은 장치 테스트와 테스트 하니스 간의 통신을 허용하는 프로토콜입니다.이를 통해 개별 테스트(TAP 생산자)가 언어에 구애받지 않는 방식으로 테스트 하니스에 테스트 결과를 전달할 수 있습니다.원래 1987년에 Perl 인터프리터의 유닛 테스트를 위해 개발된 생산자와 파서는 현재 많은 개발 플랫폼에서 사용할 수 있습니다.
역사
TAP은 Perl의 핵심 테스트 하네스의 일부로서 Perl 프로그래밍 언어의 첫 버전(1987년 출시)을 위해 만들어졌습니다.t/TEST
).Test::Harness
module은 Perl 모듈 작성자가 TAP을 이용할 수 있도록 하기 위해 Tim Bunce와 Andreas König에 의해 작성되었습니다.이것은 Perl [1][2][3]테스트의 사실상의 표준이 되었습니다.
프로토콜 표준화, 테스트 생산자 및 소비자 문서 작성 및 언어 전파를 포함한 TAP 개발은 Test Anything [4]웹사이트에서 조정됩니다.
프로그래밍 언어에 구애받지 않는 프로토콜로서 TAP 유닛 테스트 라이브러리는 Perl의 뿌리를 넘어 확장되어 Postgre와 같은 다양한 언어 및 시스템용으로 개발되었습니다.프로젝트 [5]사이트에 나열된 SQL,[6] MySQL[7], JavaScript [4]및 기타 구현.TAP C 라이브러리는 FreeB에 포함되어 있습니다.SD Unix 디스트리뷰션으로, 시스템의 회귀 테스트 [8]스위트에 사용됩니다.
사양
이 프로토콜에 대한 정식 규격이 에 있습니다.TAP::Spec::Parser
그리고.TAP::Parser::Grammar
모듈.의 동작Test::Harness
module은 사실상의 TAP 표준 실장입니다.또, https://testanything.org 의 사양에 대해서도 기술하고 있습니다.
TAP용 IETF 표준을 작성하는 프로젝트는 2008년 8월 YAPC에서 시작되었습니다.: 유럽 2008.[4]
사용 예
TAP의 일반적인 포맷의 예를 다음에 나타냅니다.
1 . 48 ok 1 설명 # 지시 # 진단 ....ok 47 설명 ok 48 설명
예를 들어, 테스트 파일의 출력은 다음과 같습니다.
1 . 4 ok 1 - Input file opened not ok 2 - 입력의 첫 번째 행이 유효합니다.테스트 2에서 더 많은 출력을 얻을 수 있습니다.행의 선두에 적어도 어떤 종류의 공백이 있는 한, 임의의 출력에 임의의 수의 행이 존재할 수 있습니다.ok 3 - 나머지 파일 읽기 #TAP 메타 정보 not ok 4 - 올바르게 요약됨 # TODO: 아직 작성되지 않음
「 」를 참조해 주세요.
레퍼런스
- ^ "A Perl toolbox for regression tests : Testing Tools". Nnc3.com. Retrieved 27 October 2017.
- ^ Schilli, Mike. "Print as Print Can » Linux Magazine". Linux Magazine. Retrieved 27 October 2017.
- ^ Szabo, Gabor. "TAP - Test Anything Protocol". Perl Maven. Retrieved 2019-08-07.
- ^ a b c "The Test Anything Protocol website". Testanything.org. Retrieved September 4, 2008.
- ^ McClive, Simon (2017-09-21). "Unit testing Postgres with pgTAP". Medium. Retrieved 2019-08-07.
- ^ Gravelle, Rob (2012-08-13). "Testing Your MySQL Stored Procedures with MyTAP". Database Journal. Retrieved 2019-08-07.
- ^ "Node Tap". Node Tap. Retrieved 2019-08-07.
- ^ "TAP(3) manual page". FreeBSD. Retrieved 2019-08-07.