RSS

5分で終わらせるPerlのユニットテストの説明

    付与されたタグ:
  • Perl

めんどくさいので5分で書く。ばばんと次のようなコードを書く。

#!/usr/bin/perl
use strict;
use Test::More;

sub add_func ($$) {
        my $a,$b = @_;
        return ($a + $b);
}

plan tests => 2;
cmp_ok ( add_func(1,2),  'eq', 3);
cmp_ok ( add_func(2,1),  'eq', 3);

はい,こりゃちょろいちょろいと実行してみると。

1..2
not ok 1
#   Failed test at ut_1.pl line 12.
#          got: '2'
#     expected: '3'
not ok 2
#   Failed test at ut_1.pl line 13.
#          got: '2'
#     expected: '3'
# Looks like you failed 2 tests of 2.

ありゃ,なんかおかしいですな。あ,関数の引数の処理の仕方というか配列の受け方を忘れていたよ。

#!/usr/bin/perl
use strict;
use Test::More;

sub add_func ($$) {
#	my $a,$b = @_;
	my ($a,$b) = @_;
	return ($a + $b);
}

plan tests => 2;
cmp_ok ( add_func(1,2),  'eq', 3);
cmp_ok ( add_func(2,1),  'eq', 3);

間違えていたよ。ではこれを実行すると。

1..2
ok 1
ok 2

はいこのようになりました。詳細な使い方は自分で調べよう。筆者も調べていない。適当に他のテストからコピペしているだけである。