iglooのテスト結果をTAP形式で出力する
C++ のテストフレームワーク igloo を使ってみた
の続きです。
iglooのテスト結果を出力する際は以下の様になります*1。
これはこれでシンプルでいいのですが、もう少し情報が欲しいです。
そこでiglooを使ったテストでTAP形式*2で出力するTestLIstenerを書きました。
https://github.com/hideo55/igloo-TapTestListener
以下のように使います*3。
#include <igloo/igloo.h> #include <igloo/TapTestListener.h> using namespace igloo; Context(context_foo){ Spec(spec_1) { .... } Spec(spec_2) { .... } }; Context(context_bar){ Spec(spec_1) { .... } }; int main() { DefaultTestResultsOutput output; TestRunner runner(output); TapTestListener listener; runner.AddListener(&listener); runner.Run(); }
出力は以下のようになります。
TAP形式で出力することによって、proveコマンドなどTAP形式をサポートしたツールを活用することが可能になるので、かなり便利になりました。
*1:成功をドット、失敗をFで表示する形式。テストツールによって名称が異なる。dot matrixやprogesssなど
*2:Test Anything Protocol
*3:cpp-HyperLogLogのテストを実行時の出力