Fool Pool

ハマった記

Perl + Jenkins テストの書き方

先に構築した CI 環境(
Jenkins + Perl + Suvbersion で CentOS に CI 環境の構築 - Fool Pool
)では「TAP::Formatter::JUnit」を使っている。

モジュールの説明

  • TAP::Formatter::JUnit => Perl の TAP::Harness の出力結果を JUnit の出力形式に変換する
  • TAP::Harness => Perl におけるテスト出力形式の規約
  • Test::More => TAP::Harness の形式に対応したテストモジュール

テストの書き方

フォルダ構造は以下のようにする
ProjectRoot/
- lib/ : 自前のモジュールを格納
- t/ : テストモジュールを格納

[lib/MyNewModule.pm]

package MyNewModule;

sub func
{
    my $arg = shift;

    return $arg ? 'func:' . $arg : 'func';
}

1;


[t/use_ok.t]

#!/usr/bin/perl
 use strict;
 use warnings;
 use Test::More tests => 1;

 BEGIN { use_ok('MyNewModule'); }

[t/func_ok.t]

#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 2;
use MyNewModule;

is(MyNewModule::func('arg1'), 'func:arg1');
is(MyNewModule::func(), 'func');