ブックマーク / moro.hatenadiary.org (6)

  • フック、そんなのもあるのか!! # CukeやRSpecの前後処理フック - moroの日記

    Akabane.rbとかやってみたい今日この頃です。土曜の9:00AMからまるます屋とかで。まぁ私自身はだいぶ先まで土日のマイルは枯渇してるんですけど。 それはそうと、RSpecの全Example(it)やCucumberのすべてのシナリオで前後処理をしたくなることはありませんか? ありますよね。 たとえばconfgatronというgemがあって、設定をまとめる依り代になってくれるんですが、これがSingleton(≒グローバル変数)なので各テストの前後にちゃんとリセットしたい場合とか。 ドキュメントをあたってみたらちゃんと用意されていたのでメモです。 RSpec Spec::Runner.configure(&block)のブロック中でbefore()とかafter()を書きます。Railsの人だとspec/spec_helper.rbあたりに書いてくださいな。 Spec::Runner

    フック、そんなのもあるのか!! # CukeやRSpecの前後処理フック - moroの日記
  • rake specの実行時間を短くするための簡単なお仕事です ※ただし、(何か)に限る - moroの日記

    TDDで開発している人の目下の悩みはSlow test問題、すなわちテストの実行時間がかかりすぎて辛い、という問題です。 が、ふと思うところがあって、次のようなタスクを定義していたら、なんということでしょう、劇的に早くなったではありませんか。 namespace :spec do spec_prereq = Array(File.exist?(File.join(RAILS_ROOT, 'config', 'database.yml')) ? "db:test:prepare" : :noop) desc "faster version of rake spec, but why?" task :faster => spec_prereq do %w[spec:models spec:controllers spec:views spec:helpers spec:lib].each do

    rake specの実行時間を短くするための簡単なお仕事です ※ただし、(何か)に限る - moroの日記
  • デブサミ2010で『実践Cucumber』の講演をしました - moroの日記

    来てくださった方が、ありがとうございました。資料を公開しましたので、よろしければご覧ください。 Cucumber In PracticeView more presentations from Kyosuke MOROHASHI. 緊張その他の反省点も多々あるのですが、多くの方がいらしてくださって、話し手としてもとても嬉しかったです。 Twitterなどでいただいた反応を見ると、「Cucumberは会話を作るフレームワーク、つまりお客様と会話するための言語を作るフレームワークだ」という一番伝えたかったポイントが伝わったようで、安心しています。 私自身が、 同梱のWebratの便利さに惹かれてCukeを使い始め、 日語で書けることの可読性の高さに驚嘆し*1、 それを経て「会話のために語彙を育てる(イマココ)」 という考えに至ったので、そのあたりをお伝えしたいと思っていました。 感想やご質問

    デブサミ2010で『実践Cucumber』の講演をしました - moroの日記
  • 現実のプロジェクトでのCucumberの始め方 - moroの日記

    セッションが終わったあと、Ask the speakerに来てくださった方((お名前を聞いておけばよかった!!)と少しお話しました。Cukeに興味が湧いたので使い始めてみたい、というとても嬉しいことをおっしゃってくださいました。 そこで話した、「すでに始まっているプロジェクトでのCuke導入法」を簡単にご紹介します。今回の私の話や、その他いろんなコトで興味を持った方の参考になれば嬉しく思います。 新規でも途中でも、プロジェクトに導入するときのポイントは、「ムリをしない」「一歩ずつ」ですが、特に開発が始まったあとから入れる場合は、簡単なところからやっていくとよいでしょう。具体的には、 1. (ログインなどもいらない)GET系の画面(index or show) まずは、アプリケーションにCukeを組み込んで、一週回すことに集中します。script/generate cucumberをしたら、

    現実のプロジェクトでのCucumberの始め方 - moroの日記
  • ダミーWebサーバを作るライブラリ、wwをリリースしました - moroの日記

    近頃はWebAPIを使ったアプリケーションを作ることが増えていると思いますが、自動化テストからのWebAPIへのアクセスはどうやってますか? 私は、自分でstubしたりFakeWeb(レシピ先輩に教わった!!)を使ったりしてたんですが、イマイチしっくりこない部分がありました。で、Sinatraなぞで作ってたんですが、それをgemにまとめましたので、よろしければご利用ください。 http://github.com/moro/ww http://gemcutter.org/gems/ww 概要 ww(Double Web)はいわゆるDouble(mock, stub, spyなど)の機能を備えたダミーWebサーバを簡単に作るためのフレームワーク(笑)です。現状では、以下のようなことが出来ます。 他のAPIサーバを使う場合などに、簡単にダミーサーバを作る そのダミーサーバは自動化テストないから起

    ダミーWebサーバを作るライブラリ、wwをリリースしました - moroの日記
  • OSC2009 Tokyo/FallでCukeとRSpecの紹介をしました - moroの日記

    休んでいるうちにずいぶん時間が経ってしまいましたが、10/31のOSCにてお時間をいただき、Railsの昨今のテスト事情について紹介させていただきました。普段から申しているようにCucumberとRSpecをぐいっと推しています。 Rails testing environment, 2009 fallView more documents from Kyosuke MOROHASHI.あとはRSpec方面で、subjectやitsの使い方について、使いながら考えているようなことを書いています。 前にオブラブ方面でCuctomMatcherの話をしたときに、簡単なCustomMatcherを量産するのはだるいんじゃない?という懸念があったんですが、その一つの解としてits()はありかなー、と。使い分けはこんな風になると思います。 CustomMatcher作る 検証内容が複雑になるとき エ

    OSC2009 Tokyo/FallでCukeとRSpecの紹介をしました - moroの日記
  • 1