Perlでテスト数を数えずにテストをする方法

Perlでテストをしていたときの一つの疑問は、assert書いてるのに、なんでわざわざそれを手動で数えなきゃいけないんだろうということでした。

一応、Test::Moreにno_planというのがあるんですが、これが使えないんですね。

use strict;
use warnings;
use Test::More qw(no_plan);

ok 1;
exit;
ok 2;

なぜかというと、上記のケースではテストが失敗せずに成功してしまうからです。。。これでは全然使えませんね。

そこで、Test::Mostのdefer_planを使います。
http://search.cpan.org/dist/Test-Most/lib/Test/Most.pm#Deferred_plans

use strict;
use warnings;
use Test::Most qw(defer_plan die);

ok 1;
exit;
ok 2;
all_done;

この場合、テストは成功せずに失敗します。これでテスト数を数えなくてもいいですね

# Test::MostはPerlモジュールで使うにはおおげさですが、アプリケーションで使う分には結構よさそうです。