追記:僕なりの結論です → http://hisaichi5518.hatenablog.jp/entry/2013/05/25/183128
各テストが実行される前になんかやりたいとか、各テストが実行された後になんか表示させたいとか、そういうことはよくある。
TAP::Harnessを継承してアレコレして、prove --harness=... とすると出来た。
でも、harness変えるのやだなと思ったので、別の方法を探してみた。
package App::Prove::Plugin::EatUnko; use strict; use warnings; use Class::Method::Modifiers qw(install_modifier); install_modifier("TAP::Base", "around", "_initialize", sub { my $orig = shift; my ( $self, $arg_for, $ok_callback ) = @_; if (grep { $_ eq "made_parser" } @{$ok_callback || []}) { $arg_for = { callbacks => { made_parser => sub { warn "unko mgmg"; }, }, %{$arg_for||{}}, }; } $orig->($self, $arg_for, $ok_callback); }); 1;
完全に時間の無駄っぽかった。
追記:loadで囲む必要なかった。