Hatena::ブログ(Diary)

kazuhoのメモ置き場

2009-12-07

ドキュメントとテストコードつきのPerlスクリプトを書く方法

Re PerlならサンプルコードPerl入門, no title

スクリプトとコードとテストを単一のファイルにまとめたい*1という需要が、かねて自分の中であったので教えを請うた結果、以下のような感じで書けばいいことがわかった。

#! /usr/bin/perl

use modules...;

my $global = ...;

sub foo {
  ...
}

sub bar {
  ...
}

run_tests()
    if $ENV{HARNESS_ACTIVE};

# メインのコード
foo();
bar();
...

sub run_tests {
  ...
  exit;
}

__END__

=head1 NAME my_script.pl

...

テストをするには、

% prove my_script.pl

とやれば、HARNESS_ACTIVE 環境変数がセットされてるのでテストコードが実行される、と。これは便利。yappo++ tokuhirom++

ちなみに Adam Kennedy / Test-Inline - search.cpan.org みたいなアプローチもあるらしい

20:41追記:

で、上みたいに書いたファイルを CPAN モジュールに含める場合は、Makefile.PL に

install_script 'my_script.pl';
tests 'my_script.pl';

とか書けばいいらしい。tokuhirom++

*1:複数のファイルに分割する労力を払うならコードをモジュール化して普通にテスト書きます

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/kazuhooku/20091207/1260185312