タグ

testに関するmyfinderのブックマーク (14)

  • CPAN Testersの紹介 - Islands in the byte stream (legacy)

    最近Perlのネガティブな話が話題ですが、ちょっとCPANまわりのサービスの自慢をさせてください。それは CPAN Testers です。 CPAN Testers *1 とは、CPANに公開したモジュールがどの環境で動きどの環境でどういうエラーがでるのかを集積するサービスです。 よく「Perl/CPANは枯れている」といいますが、それを支えているのはPerl歴史とかPerlerの性格といった形のないものではなく、この CPAN Testers なのです。これがすごくいいんですよ。 特徴をざっと並べるとこんな感じ: Social testing service for CPAN Testerたちがモジュールを手元の環境でテストしてそのレポートをサーバに送る CPAN.pm のプラグインとしてレポートモジュールが存在する 同じ環境でもビルドオプションが違うパターンもあるので、自分ひとりで様

    CPAN Testersの紹介 - Islands in the byte stream (legacy)
  • perl ♡ tests - Articles Advent Calendar 2011 Test

    こんにちはとみたトミールです。先日会社の勉強会で枠をもらいまして、「あまりperlによる開発をしていない人へのperl紹介」的な話としてperlのカルチャーとしてのテスト、という紹介をしました。わりと評判がよかったのでほかのトラックと内容かぶるところありますが気にせず書き起こし的に書いてみます。 dev w/perl select modules write tests ... perlを使った開発の特徴として、モジュールが充実してる話はわりと有名とおもいますが、実際のコード書き始める前にまず使うモジュールを選ぶ作業があったりします。そのへんはそのうち話すとして。 ほかに、テストを大事にするというかテストを書いてから実際のコードを書くという文化があるのが誇れる点だとおもっていて、 perl's test code = just simple perl script perlのテストコードは

    perl ♡ tests - Articles Advent Calendar 2011 Test
  • use Test::Attribute::AutoLevel - Articles Advent Calendar 2011 Test

    こんにちは、カワ(・∀・)イイ!!アイコンで有名なnekokakだよ。 今日はカワ(・∀・)イイ!!僕がつくったTest::Attribute::AutoLevelという イカしたモジュールを紹介してみたいと思うんだ。 僕はテストを書く時にテスト用の便利関数を定義することがよくあるんだ。 そのテスト関数の中でTest::Moreのテスト関数を実行するんだけど、 そこでテストがコケたときに表示されるエラーメッセージがおかしなことになるんだ。 例えば use strict; use warnings; use Test::More; sub test_cute_icon { my $icon = shift; is $icon->{state}, 'cute'; } { package My::Icon; sub new { my ($class, $opts) = @_; bless $op

    use Test::Attribute::AutoLevel - Articles Advent Calendar 2011 Test
  • perl でテストを始めよう!! - Articles Advent Calendar 2011 Test

    はじめに こんにちはこんにちは!最近会社のモニターが二枚になって持て余している xaicron です。 さて、Test Track と称して始まったトラック。全部よめばあなたもテストを書かずには生きていけない、そんな身体に大変身していること間違いなしです。 とりあえず今日は初日なので、perl でテストを書くときに必ずと言っていいほど利用する Test::More を使ったテストの書き方を書こうと思ます。 また、「テスト」とざっくりといってもいろいろなものがありますが、その辺の細かい話はきっと ikasam_a さんが書いてくれるのでスルーします。 Test::More チートシート まず、More というだけあって、結構機能がいっぱいあるので、チートシートを先にあげておきます。perldoc Test::More のほぼコピペですが、きっと皆さんは perldoc Test::More

    perl でテストを始めよう!! - Articles Advent Calendar 2011 Test
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • プロジェクト開発におけるテスト用DBの(使い|作り)方

    昔書いたような気がしてたけど書いてなかったので。 モジュールをつくっていてDB回りのテストを書きたい場合は Test::mysqldやTest::postgresql を使うこと。 CPANなんかに上げるモジュールではなく、お仕事プロジェクトのコードを書いていて DB回りのテストを書きたいケースについてです。 私はMySQLを利用しているので、Test::mysqldをつかってもよいのですが、 起動コストがそれなりにかかるのと、ローカルの開発環境には既にMySQLは立ち上がっている前提があるので、 既に立ち上がっているMySQLをそのまま利用する方法をとっています。 そこでテスト用のユーティリティクラスを紹介してみます。 package t::Utils; use strict; use warnings; use utf8; use lib './t/'; use Test::Fixtu

  • にひりずむ::しんぷる - make test で Test::mysqld を永続化させる方法

    実際にどうやってんのかなーって話をあんまりしてなかったので。 まず、こんな感じのモジュールを t/lib/Test/MyApp/mysqld.pm とかで作って M::I::TestTarget の default_test_target() で `make test` を書き換えてやり、t/script/setup_mysqld.pl に とか書いてあげます。 それぞれのテストでは、Test::MyApp::mysqld->setup で mysqld を立ち上げるようにして置けば、 prove で個別にやった時は、それぞれ立ち上がる make test したときは、最初に立ち上げて、あとは使いまわす という感じになります。 ポイントとしては、 $ENV{TEST_MYSQLD} に Test::mysqld のデータ構造をそのまま JSON にして突っ込む Test::MyApp::m

  • Test::mysqldとかでテスト走らせる時に際行ったいろんな事。 - D-6 [相変わらず根無し]

    Test::mysqldとかでテスト走らせる時に際行ったいろんな事。 Test::mysqldを使うとクールにMySQLを起動させられるので、それを使おうとしたんだ。でもおいらのローカルにあるmysqlMacPortsのmysqlで、ファイルレイアウトがメタメタなんだ。だからまずこんな感じで、Test::mysqldを継承するMyApp::Test::mysqldを書いたわけさ! 必要とあればMacPortsとかの環境じゃなくてもMYSQL_INSTALL_DBMYSQLDを設定すればテスト時にTest::mysqldが見るバイナリを変更できるのがミソだね! さて、これを使っても、何個もテストスクリプトがある時に一回一回mysqlを立ち上げ直してちゃ意味がない。遅いし、毎回DBの設定をしなくちゃいけないじゃないか! だもんで、まずmake testが走るときに前もってTest::mys

  • 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 をイン

  • Proc::Guard - サーバープロセスを起動するライブラリ - tokuhirom's blog

    http://frepan.64p.org/~tokuhirom/Proc-Guard-0.01/lib/Proc/Guard.pm テストなどで memcached やら ttserver やら gearmand やらを起動するにあたって、サーバープロセスを起動するとかいった場合に、サーバーの種類ごとにライブラリを書くのも馬鹿馬鹿しいので、起動する部分だけを抽象化してみたという話。主にテストでつかう用途を想定している。 たとえば、memcached の起動部分は以下のようにかくことができる。$proc が消滅した時点で、memcached のプロセスは消滅する(by DESTROY())。 use Test::TCP qw/empty_port wait_port/; use File::Which qw/which/; use Proc::Guard; my $port = empty

  • slow query logとかをTest::mysqldで出す - D-6 [相変わらず根無し]

    slow query logとかをTest::mysqldで出す 以前ここで書いたTest::mysqldの仕組み、すこーしずつ毎回変えながら使ってる。今は継承はしてないが、まぁやってることはだいたい一緒。 で、テーブルのインデックスとか使ってるクエリとかを確認したいなーと思って、slow query logと general log をぼこっと出せるようにした。 if (! $ENV{ TEST_DSN }) { my %my_cnf = ( 'skip_networking' => '', ); if ( $ENV{SLOW_QUERY_LOG} ) { $my_cnf{ slow_query_log } = 1; $my_cnf{ slow_query_log_file } = $ENV{SLOW_QUERY_LOG}; $my_cnf{ long_query_time } = $

  • 第28回 Test::More:no_planからdone_testingへ | gihyo.jp

    計画的に実行するのはよいことですが 前回も紹介したように、Test Anything Protocolでは「これから10個のテストを実行します」と宣言する場合はこのように書くことになっていました。 use strict; print "1..10\n"; # 宣言部 for (1..10) { print "ok $_\n"; } このような宣言部の存在は、テスト結果をパースして分析するTest::Harnessのようなツールにとっては非常に便利なものですが、たとえば環境によってテストの数がかわるとき、あるいはテストファイルが非常に長くなってきたとき、はたまた多くの人が平行してファイルやテストの追加作業をしているため最後にマージするまでテストの数がわからないとき、事前にテストの数を把握していなければならないというのは、大きな制約にもなりえます。 単純そうに見えるTest Anything

    第28回 Test::More:no_planからdone_testingへ | gihyo.jp
  • /lang/perl/Test-mysqld – CodeRepos::Share – Trac

  • Mint's log: Frozen Perl 2008メモその3:Introduction To Testing with Perl(実例で学ぶPerlのテスト駆動開発)

    2008年4月2日 Frozen Perl 2008メモその3:Introduction To Testing with Perl(実例で学ぶPerlのテスト駆動開発) 資料が公開されている。テストを先に書くというテスト駆動開発。概念はわかりやすくても実際に行ってみるとなかなか難しい。この発表は簡単なモジュールを開発する場面を見せてくれるという点で実にわかりやすかった。問題の設定分譲マンションのような共同住宅を考える。この建物の延べ床面積のうち各世帯が所有する面積の割合を計算する。たとえば、延べ床面積が10000平米のマンションにある1000平米の住居なら10%。これを算出するモジュール、PercentOwnership.pmを作る。テストその1:use_okを使ってモジュールが使えるかどうかテストするモジュールPercentOwnership.pmを作らずに、いきなりテストを作る。tとい

  • 1