sironekotoroの日記

Perl で楽をしたい

初めてのTest::Simple

Test::Simple

  • 昨日のPerlBeginnersで取り上げられてたのを試す。
    • 今までテスト書いたことは無かった
    • TDD(Test Driven Development)って言葉は知っていたけど、知っていただけ
    • Test Firstも聞いたことがあっただけ
  • Test::Moreのperldoc見に行ったら

    待った! もし、今初めて、テストを書こうとしているのなら、Test::Simpleをまず 見てください。 Test::Moreは、基本的なテストのコツを得て、置き換え可能な Test::Simple の差込式の 置換です。

  • 危なかった道を間違えるところだった。

  • まずはTest::Simpleから。
  • みんな大好きFizzBuzzで、最初のFizzBuzzが15かどうかでテストする
use strict;
use warnings;

use Test::Simple tests => 1;

my @FizzBuzz;

for my $i ( 1 .. 100 ) {
    if ( $i % 15 == 0 ) {
        print "FizzBuzz\n";
        push @FizzBuzz , $i;
    }
    elsif ( $i % 3 == 0 ) {
        print "Fizz\n";
    }
    elsif ( $i % 5 == 0 ) {
        print "Buzz\n";
    }
    else {
        print "$i\n";
    }
}

print "---\n";
ok ($FizzBuzz[0] eq 15);  # ok 1
  • おぉ
  • テストのところに引数を与えることで、ok/not okと一緒にメッセージを出すことが出来る
ok ($FizzBuzz[0] eq 15 , 'First FizzBuzz Number is 15');  
# ok 1 - First FizzBuzz Number is 15
  • なるほど