際際滷

際際滷Share a Scribd company logo
永艶姻鉛のテストがわからない
   聾埆嗷初(葵鞄壊一壊霞顎壊一)
徭失B初

¢   聾埆嗷初(葵鞄壊一壊霞顎壊一)
¢   http://about.me/hsksyusk
¢   SIer
¢   繁でWebサ`ビスを恬ってます
¢   テストしてません´´
わからないこと

¢ Perlのテストってどうやるの
¢ WAFのテストってどうやるの
Perlのテストってどうやるの

¢ perl でテストを兵めよう。 - Perl
  Advent Calendar Japan 2011 Test
  Track
http://perl-users.jp/articles/advent-
calendar/2011/test/1
Perlのテストってどうやるの

¢ Test::Moreを聞う
テスト鵐皀献紿`ル
package SomeModule;

use strict;
use warnings;

sub new {
  my ($class, %args) = @_;
  bless %args, $class;
}

sub sum {
  my $self = shift;
  my $ret = 0;
  for my $num (@_) {
    $ret += $num;
  }
  return $ret;
}

1;
テスト1 useできる
# t/01_use.t
use strict;
use warnings;
use Test::More;

use_ok('SomeModule');

done_testing;




$ perl -Ilib t/01_use.t
ok 1 - use SomeModule;
1..1
テスト2 newできる
# t/02_new.t
use strict;
use warnings;
use Test::More;
use SomeModule;

my $obj = SomeModule->new;
isa_ok $obj, 'SomeModule';

done_testing;




$ perl -Ilib t/02_new.t
ok 1 - The object isa SomeModule
1..1
テスト3 C嬬は屎しく咾
# t/03_sum.t
use strict;
use warnings;
use Test::More;
use SomeModule;

my $obj = SomeModule->new;

subtest 'basic' => sub {
   my $got = $obj->sum(1, 2, 3);
   is $got, 6;
};

done_testing;


$ perl -Ilib t/03_sum.t
   ok 1
   1..1
ok 1 - basic
1..1
まとめてテスト
$ prove -lc t
t/01_use.t .. ok
t/02_new.t .. ok
t/03_sum.t .. ok
All tests successful.
Files=3, Tests=5, 0 wallclock secs ( 0.10 usr 0.02 sys + 0.20 cusr 0.05 csys = 0.37 CPU)
Result: PASS
わかったこと
¢ テストにはTest::Moreを聞う

¢ 鵐皀献紿`ルが匯つでも、テストファ

 イルは蛍けてつくる
わからないこと
¢ テストファイルの蛍け圭、凋兆にル`ル

 はあるの
WAFのテストってどうやるの

¢ テストなんかしない
 $   Amon2をロ`カルのPlackで咾し
     て_J
 $   サ`バに貧げて壅業_J
 $   ブラウザ、サ`バのログ
     テストしないでリリ`スしちゃった
         (?ω<)てへぺろ℃
Amon2のテストをてみる

¢ t/
00_compile.t
01_root.t
02_mech.t
03_assets.t
06_jslint.t
07_dotcloud.t
08_teng.t
t/00_compile.t
use strict;
use warnings;
use utf8;
use Test::More;

use_ok $_ for qw(
   fbsample
   fbsample::Web
   fbsample::Web::Dispatcher
);

done_testing;




                               ああ、useね。
t/01_root.t
use strict;
use warnings;
use utf8;
use t::Util;
use Plack::Test;
use Plack::Util;
use Test::More;

my $app = Plack::Util::load_psgi 'app.psgi';
test_psgi
  app => $app,
  client => sub {
     my $cb = shift;
     my $req = HTTP::Request->new(GET => 'http://localhost/');
     my $res = $cb->($req);
     is $res->code, 200;
     diag $res->content if $res->code != 200;
  };

done_testing;
?
t/02_mech.t
use strict;
use warnings;
use utf8;
use t::Util;
use Plack::Test;
use Plack::Util;
use Test::More;
use Test::Requires 'Test::WWW::Mechanize::PSGI';

my $app = Plack::Util::load_psgi 'app.psgi';

my $mech = Test::WWW::Mechanize::PSGI->new(app => $app);
$mech->get_ok('/');


done_testing();
??
WAFのテストってどうやるの

¢ Plack::Test

¢ Test::WWW::Mechanize::PSGI

¢ このモジュ`ル採

¢ TestからHTTP Request誘げて、

 Responseで登協してる
¢ ステ`タスコ`ドればいいの
WAFのテストってどうやるの

¢ 幣医で誘後されたときの嘛を深え

 ると
1. 秘薦、離船Д奪

2. DB厚仟

3. 頼阻鮫中へリダイレクト


 このxりをどうテストするの
WAFのテストってどうやるの

¢ デプロイしたあとのテストは

 $   DotCloudに貧げたら咾ない、とか
¢ やっぱりテストかなきゃだめですよ

 ね

More Related Content

永艶姻鉛のテストがわからない