タグ

Perlとtestに関するtyamaguc07のブックマーク (8)

  • Harriet ー テストのときつかうにデーモンの取扱を簡単にするためのフレームワーク - tokuhirom's blog

    https://github.com/tokuhirom/Harriet/https://metacpan.org/module/TOKUHIROM/Harriet-0.01/lib/Harriet.pmテストのときにつかう mysqld, memcached, stf, groonga あたりのデーモンを、.t 単位で起動していては遅くてかなわない。かといって、あらかじめ起動させておくというのも。。 というわけで prove のプラグインとしてよしなにする、みたいなのをがんばってかく、というような試みがおこなわれてきたわけですが、どうもめんどくさい。 なんか適当にやったらうまくうごく、っていうかんじのカジュアルなツールがほしいな、なんておもったりするわけですよ そこで、Harriet ってのをつくってみました。 なんかこう、t/harriet/mysqld.pl っていうファイル名でこん

  • PerlでTDD(テスト駆動開発)するなら覚えておきたいCPANモジュール群 | hirobanex.net

    最近、久しぶりに新規コードを書いたんですが、そのテスト書く中でTest::Mock::Guardってモジュール使って便利だったんで、ここらで、動作確認テストを書く上でいいな(使ってみたいな)って思ったモジュール群やテスト関連ネタを個人的なメモとしてまとめておきたいと思います。 いいなって思うPerlの動作確認テスト系CPANモジュール群 私が実際に普段使っているものから、これいいなー使ってみたいなーと思うものまで、一覧にまとめて見ました。結構いろんなモジュール使わないと、いい具合にTDDってできないものだと思います。 入門編 モジュール名 概要 参考日語記事

  • DBD::Mock を使ったテスト - 日向夏特殊応援部隊

    DBD::Mock は DBI のドライバの一つで、DBI を使ったプログラムで意図的な状態を作る事が出来ます。 と言う訳でメモ程度に書いて行きます。 データベースハンドルの取得 use strict; use warnings; use Test::More; use DBI; plan tests => 3; my $dbh = DBI->connect('dbi:Mock:', '', '', +{ AutoCommit => 0, RaiseError => 1 }); ok($dbh, 'Create database handle'); isa_ok($dbh, 'DBI:db'); is($dbh->{Driver}->{Name}, 'Mock', 'Driver information'); で、普通に Database Handle が取れます。 SELECT してる箇

    DBD::Mock を使ったテスト - 日向夏特殊応援部隊
    tyamaguc07
    tyamaguc07 2011/12/20
    [DBD::Mock]
  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

  • Perl database testing with MySQL::Sandbox - YAPC Asia 2009

    Database testing with MySQL::Sandbox YAPC Asia 2009, September 10th, Japan Tokyo id:ZIGOROu zigorou at cpan dot org DeNA Co.,Ltd 今日は MySQL::Sandbox を利用した MySQL を使ったデータベース処理のテストについて紹介します。 What is MySQL::Sandbox? MySQL の実行環境を手軽に作れる CLI ツール群です。 Introduction MySQL::Sandbox Install これは簡単。 $ sudo cpan -i MySQL::Sandbox Setup その OS での MySQL を $HOME/opt/mysql にダウンロードしてから、MySQL::Sandbox に入っている make_sandbox

  • DB 処理における Fixture テストの勧め - Hokkaido.pm #1

    DB 処理における Fixture テストの勧め 自己紹介 Toru Yamaguchi <zigorou@cpan.org> id:ZIGOROu (@zigorou) 株式会社ディー・エヌ・エー ソーシャルメディア事業部プラットフォーム統括部システムグループエンジニア Japan Perl Association 理事 今回のお題 昨日は割と概念的なお話ばかりだったので、今回は具体的な話メインで行きたいと思います。 やはりプログラミングにはバグがつきもので、それを防ぐにはテストを書くしかないですよね、と言う事でテストにまつわるお話です。 とは言っても今日のこのイベントに来ている人は Test::More でのテストなどは書いた事がある人が多いと思うので、Test::More の説明は割愛します。 まずは Test::mysqld の使い方 とりあえず、手元の環境に mysql をイン

    tyamaguc07
    tyamaguc07 2011/04/20
    [Test::Fixture::DBI][Test::mysqld]
  • Devel::Cover - モダンなPerl入門 - モダンなPerl入門

    テストを漫然と書いても、網羅率の高いテストは書けません。「ふう。よく書けた」とおもって も、実はまだ網羅できてないところがあるものです。そんなわけで、網羅率をはかるために Devel::Cover をつかうとよいでしょう。 使い方は簡単です。 perl Makefile.PL make test するかわりに perl Makefile.PL HARNESS_PERL_SWITCHES=-MDevel::Cover=+ignore,inc make test cover または perl Makefile.PL cover -test -ignore_re "^inc/" とするだけ。 これで、モジュールのコードとt/以下のテスト内容を調べてカバレッジ率を出してくれます。 incをよけてるのはModule::Installのカバレッジを取っても仕方ないためです。 HTML が出力されるので

  • Parallel module testing in Perl - Islands in the byte stream

    Twitterにて: たしかあったはず*1と思って探してみると*2、Test::Harness にHARNESS_OPTIONSというオプションがありました。以下のようにすると並列でテストで時間を大幅に短縮できます。 $ HARNESS_OPTIONS=j2 make test 実際、Xslateでこれを試してみるとテストの時間が2/3程度になりました*3。これはかなり効果があると考えていいでしょう。 ただし、モジュールが並列実行に対応してないケースがありえるので、すべてのケースで利用出来るわけではありません。すなわち、これはモジュールの作者が指定するのが望ましいオプションだと言えます。そして、Module::Install::TestTarget があればそれが簡単にできるのです。 # Makefile.PL # ... default_test_target env => { HARN

    Parallel module testing in Perl - Islands in the byte stream
  • 1