Test Anything Protocol ( TAP ) は、TAP プロデューサーと呼ばれるテストロジックとテスト ハーネスの間で、言語に依存しない方法で通信するためのプロトコルです。1987 年にPerlインタープリターの単体テスト用に開発されたプロデューサーとパーサーは、現在では多くの開発プラットフォームで利用できます。
歴史
TAPは、 Perlプログラミング言語の最初のバージョン(1987年にリリース)用に、Perlのコアテストハーネス(t/TEST)の一部として作成されました。このTest::Harness モジュールは、 Perlモジュールの作者がTAPを利用できるようにするために、Tim BunceとAndreas Königによって書かれました。これは、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::Harnesshttps://testanything.org の仕様の説明とともに、事実上の TAP 標準実装です。
TAPのIETF標準を作成するプロジェクトは、2008年8月のYAPC ::Europe2008で開始されました。[4]
例
TAP の一般的な形式の例を次に示します。
1..48
ok 1説明# ディレクティブ
# 診断
....
ok 47説明
ok 48説明
たとえば、テスト ファイルの出力は次のようになります。
1..4
ok 1 - 入力ファイルが
正常に開かれていません 2 - 入力の最初の行が有効です。
テスト2からの出力をさらに表示します。
任意の出力行数
少なくとも何らかの
行頭の空白。
ok 3 - ファイルの残りを読み取ります
#TAP メタ情報は
正常ではありません 4 - 正しく要約されました# TODO : まだ書き込まれていません
参照
- xUnit – 類似のユニットテストフレームワークのクラス
参考文献
- ^ 「回帰テスト用の Perl ツールボックス: テストツール」Nnc3.com 。 2017 年10 月 27 日閲覧。
- ^ Schilli, Mike. 「Print as Print Can » Linux Magazine」. Linux Magazine . 2017 年10 月 27 日閲覧。
- ^ Szabo, Gabor. 「TAP - Test Anything Protocol」. Perl Maven . 2019年8月7日閲覧。
- ^ abc 「The Test Anything Protocol website」。Testanything.org 。2008年9月4日閲覧。
- ^ McClive, Simon (2017-09-21). 「pgTAP を使用した Postgres の単体テスト」. Medium . 2019-08-07閲覧。
- ^ Gravelle, Rob (2012-08-13). 「MyTAP を使用した MySQL ストアド プロシージャのテスト」。データベース ジャーナル。2019年 8 月 7 日閲覧。
- ^ 「Node Tap」. Node Tap . 2019年8月7日閲覧。
- ^ 「TAP(3) マニュアルページ」。FreeBSD 。 2019年8月7日閲覧。
外部リンク
- TAP の議論、開発、推進に特化したサイト
