私はいくつかのOO Perlプログラミングを行っていて、疑問に思っていました:ユニットテストを実行するための最良の方法はどれですか?
これまでのところ、テストを実行するために Test :: Simple モジュールを使用してきましたが、私が望むものには不十分だと感じています。
そのためのいくつかの素敵なモジュールを私に指摘できますか?
ピックアップに投票を追加します Test::More
Perlテストに進む前に。 Perlテストコミュニティ は Test Anything Protocol を中心に結束されており、 Test::More
それがどのように機能するか、そして prove
とTest::Harness::Archive
は、テストの自動化と配布に役立ちます。
「すぐにジャンプ」したいだけなら、 Test::Class
はxTest機能に [〜#〜] tap [〜#〜] バックエンドを提供します。私はそれをまったく使用していません(私は Test::More
人自身)ですが、それは 非常に高い評価 です。
Test :: Moreは、Test :: Simpleのコツをつかんだら、投資に見合う価値を提供するはずです。
また、詳細情報が必要な場合は、この前のディスカッションを参照してください: how-can-i-implement-tdd-in-Perl
Melaosの回答に関するコメントから判断すると、私は Test :: Class または Test :: Unit があなたが探しているものだと思います。
簡単なテストの例:
#!/usr/bin/Perl -w
use strict;
use warnings 'all';
use Test::More plan => 4; # or use Test::More 'no_plan';
use_ok('My::Module', 'Loaded My::Module');
ok( my $obj = My::Module->new(), 'Can create instance of My::Module');
ok( $obj->value('hello'), 'Set value to hello' );
is( $obj->value => 'hello', 'value is still hello');
Test :: Class これで確認できる使用法 example 。