Hokkaido.pm Casual#9に行ってきました

今回も何とか開催することが出来ました。
参加して頂き、ありがとうございました。

今回は開場が遅れてしまい、ご迷惑をお掛けしました。
おかげさまで、19時に開始することが出来ました。

まずは、今回の内容について。

  • 配列の中身が違うことをテストするには?
  • どこまでテストするの?
  • Webアプリのテストとかどうやるの?
  • Perlのテストの仕組み
  • テストで使うモジュール紹介

という訳で、今回遅れた理由なんですが、
配列の中身が違うことをテストしたくて悩んでたら遅れてしまいまして、
それを持ち込んで、解決して貰いました。

use strict;
use warnings;

use Data::Dumper;
use Test::More;

my @a = ( 1, 2, 3 );
my @b = ( 4, 5, 6 );

# 要素数が比較されちゃうから一致してしまう
is( @a, @b, "is" ); # ←これって大丈夫なの???
ok( @a == @b, "ok" );

# 文字列に変換して比較することで解決
isnt( Dumper(@a), Dumper(@b), '( 1, 2, 3 ) is not ( 4, 5, 6 ).' );
ok( Dumper(@a) ne Dumper(@b), '( 1, 2, 3 ) is not ( 4, 5, 6 ).' );

done_testing();

単純に比較すると要素数として評価されて比較されちゃうので、
要素が同一か比較するには”is_deeply”を使えば良いというのは分かったのですが、
異なることをテストする方法が見つからなくて、
Test::Diffletを参考にしながら解決して貰いました。
言われてみれば、そんな需要がないよねって思いながらも、
無事、解決したのでとても助かりました。

こんな感じで、次回もテストをテーマに開催する予定なので、
興味があれば、是非、お越し頂ければと思います。
ちなみに次回の開催日は、2月の第3水曜日(2/20)を予定しております。

おしまい。

Leave a Comment