タグ

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

  • ダミー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の日記
  • Rails勉強会@東京#12 - moroの日記

    いまTest::Baseが熱い Test::Base on Railsがかっこい。いま終わりました。 すげー未消化なメモですが。 テストコードとデータの(概念的な)分離 テストのパターンができるとデータをどんどん追加していける 定型的なテストを書くのによさげ filterがかなりいろいろ在る。 3A arrange act assert 頭(興味)が処理のときとデータのとき、というか開発をドライブしたいときと、すでにできたののバグ出しをしたい場合 RSpecはドライブするとき。 Test::Baseはいろんなパターンで繰り返したいとき。 SKIP more deep. KNOWN_BUG いまは通らないことがちゃんと判ってて、それは落ちるんだけどほっといてくれ。というケース。 でも通らないことがわかってはいようがなんだろうが全部走らせた結果ちゃんとグリーンだね、というのを assert し

    Rails勉強会@東京#12 - moroの日記
    youpy
    youpy 2006/11/20
    「頭(興味)が処理のときとデータのとき、というか開発をドライブしたいときと、すでにできたののバグ出しをしたい場合」
  • RSpec 0.7.0キタ - moroの日記

    ボスはトランクがいいって言ったんですが、リリース版で一休みしたい、という方向で落ち着きました。 早めの準備のおかげで0.7.0を入れてもなんともなかったです*1。 http://rspec.rubyforge.org/upgrade.html 追記 いや controller spec スゴいっすよ。Isolation from the database とかって。マジスゴい。素敵すぎる。 http://rspec.rubyforge.org/documentation/rails/writing/controllers.html account = mock("account") Account.should_receive(:find).with("37").and_return(account) controller + view で functional test としているRai

    RSpec 0.7.0キタ - moroの日記
    youpy
    youpy 2006/11/09
  • moroの日記 - Railsでテストを書く勘所

    昨日はOSCに行ってきました。セミナーやブースはほとんど行かず、例によってRubyの会のあたりでだらだらしてたわけですが。 思いがけず師匠の師匠、id:t-wadaさんにもお会いできてびっくり。 で、そこでRailsとTDD(BDD)の話なんかしたので、一週間で思ったことをつらつらと。たぶん不正確というか、理解の足りないところもいろいろあるので、そのへんのツッコミをいただけると感謝です。 書いてたら長くなったのでagenda モデルのテストでは、とにかくロジックを書いたらテストを書く*1。def..endブロック(wを書いたら必ずテストもあるはず。 RailsのMVCコンポーネントの中では一番テストし易いので、そういう意味でもモデルを厚くすると幸せになりやすい。 コントローラのテストでは、基的にリクエストを受けてから表示対象のオブジェクトを導出するまでをテストしたい。 ビューのテストでは

    moroの日記 - Railsでテストを書く勘所
    youpy
    youpy 2006/11/09
    RSpec にのりかえたい…
  • Macに自前コンパイルでUnixアプリを入れるときの注意 - moroの日記

    メモ MacPortsでインストールされる各種ライブラリは/opt/local以下に入るので、コンパイル時にはそっちも参照するようにしないとはまる。特に公式に取り込まれていない機能を追加するパッチなんかを当てたときには要注意。 具体的には vim に香り屋さんのパッチを当てたものを作ったときにはまりました。 そんな時はあらかじめ、以下のような環境変数を設定するか、configureスクリプトに常に渡すようにすれば解決するものもありそうです。 CPPFLAGS="${CPPFLAGS} -I/opt/local/include" LDFLAGS="${LDFLAGS} -L/opt/local/lib"このへん、コンパイラのデフォルト値として与えるにはどうすれば良いんでしたっけ?特にリンカのほう。ldがさっぱり解らない。やっぱり地道に指定するか、環境変数で頑張るしかないんですかね、教えて偉い

    Macに自前コンパイルでUnixアプリを入れるときの注意 - moroの日記
    youpy
    youpy 2006/10/26
  • Rails 1.2の目玉機能 - moroの日記

    assert_select でCSSセレクタを使ったテンプレートのアサーションが出きるらしい。AWDwR#2で見付けて隣の人が盛り上がってます。 http://dev.rubyonrails.org/changeset/4929

    Rails 1.2の目玉機能 - moroの日記
    youpy
    youpy 2006/10/26
  • 第11回Rails勉強会@東京 - moroの日記

    過去最高人数を更新し続けている勉強会ですが、今回も行ってきました。37人てすげぇ。 それに伴っていろいろとやり方とかを変えていかなきゃ行けないこともあるかと思いますが、それはまぁ別途。 今回は暴走気味議論セッションが面白かったです。 前半:map.resourceを使ってみたくないか? Rails 1.2で入る(という噂の)ActiveResourceの力を先取りして知っておこうじゃないか、というセッション。自分がセッションオーナーだったのにgdgdしてしまって申し訳なかったです。川村さんとのりおさんにいろいろ教えていただきました。 要点としては、routes.rbの中で map.resource :messagesとやると色んなURLが生成されてこれは凄い、というものでした。 具体的にはまずedge Railsを入れた上で script/generate scaffold_resourc

    第11回Rails勉強会@東京 - moroの日記
    youpy
    youpy 2006/10/18
    長いsl
  • 日本Rubyカンファレンス2006 二日目 - moroの日記

    二日目も大盛況のうちに終了。熱かったです。盛り上がった。 DHHのActiveResourceの話なんてスタンディングオベーションものでしたし。 "素敵だな"と思ったことをチラシの裏*1に書き留めていたので、感激備忘録として書き留めておきます。詳細かつ客観的なログはYuguiさん始め他の方々に期待。 全体の感想としてはとにかく楽しかったです。スタッフの方、発表者の方、当にありがとうございました。 来年こそは*2なんか喋るなりスタッフになるなりします。是非。 たださん「Ruby anywhere 〜Ruby普及のためにアプリケーションができること」 初めて拝見しましたが、たださんカッコイイ。プレゼン中の立ち振舞が渋かったです。 「普及を目指すのはカッコ悪いですか?」普及は善という考えに同意。自分を含めてみんながもっとハッピーになれるはず、と信じていることを着実に推し進めていきたいです。 咳

    日本Rubyカンファレンス2006 二日目 - moroの日記
    youpy
    youpy 2006/06/19
  • RailsとABDとCRUDとワークフロー - moroの日記

    羽生さんのABD(Activity Based Datamodel)ですが、それを知った感想を自分なりにすごく乱暴にまとめると、DBをイベント系とリソース系にわけた上で、仕事っていうのはリソース間やイベントとリソースの間になんらかの関係を発生させる捉える、という考え方かなぁ、と。 イベントとリソース 売上げが立つ、というイベントはつまりお客さん(リソース)と商品(リソース)との間に購入/入金という関連が発生するというふうに捉えられます、と。 あんまり例えが良くありませんが、ビジネス上のできごと=イベントに着目し、イベントも関連テーブルのエンティティを素直にcreateすることで表現するという方法論だと読んでいます。 さらにDBを設計するということは、そういったイベント、すなわちビジネス上のアクティビティをどう記録するか、という観点でデータの持ちかたを設計していくということなんじゃないでしょ

    RailsとABDとCRUDとワークフロー - moroの日記
    youpy
    youpy 2006/06/19
  • moroの日記 - 新しくRailsアプリを作るときにやること

    なんか色々はまったのでメモです。 一見まとめに見えますが、実は「早い段階でやっとけばよかった」と後悔したり、向こう数日以内に後悔する予定のところをピックアップした愚痴だったりしますけど。 文字コードはUTF-8を使うのが無難。 テーブルの文字コードもUTF-8に。latin1にEUC-JPなデータを入れてしまうと大変。 Ajaxを絶対に使わないならSJISとかでもいいかも。 ケータイを考慮する場合も、around_filterを使って入出力の文字コードを変換するほうが楽だと思います。実際にはまった人の声も聞きたい。 vimを使う場合はこちらもどうぞ。 とりあえずバージョン管理はSubversionをお薦め。 Capistrano(旧名:SwitchTower)でdeployする場合、${RAILS_ROOT}/logをリポジトリに入れるとはまる。${RAILS_ROOT}でsvn:igno

    moroの日記 - 新しくRailsアプリを作るときにやること
    youpy
    youpy 2006/05/01
  • Rails 1.1で作ったアプリのscript/serverはlighttpd-1.4.8以前では動かない模様 - moroの日記

    2006/04/02 id:secondlifeさんの指摘を受け、タイトルをわかりやすくしました。 前エントリへzhestoさんから指摘をいただいて気がついたんですが、Rails 1.1で作成したアプリを動かす場合、lightyの1.4.8以前では動作しない模様です。 私の場合、Rails 1.0以前で作成したlighttpd.confが1.4.9以降で動かなかったというトラブルですが、当然逆もありそうなわけで。要するに、lighttpd-1.4.9以降用のlighttpd.confが生成されるため、逆にそれ以前のlightyではエラーになる、と。 productionな環境で、document-rootやfcgiのbin-pathを絶対パスで指定していれば問題は起こらない、んですかね。 参考 id:zhestoさんからの指摘にあるこちらの記事では、lighttpdも最新版にするように勧め

    Rails 1.1で作ったアプリのscript/serverはlighttpd-1.4.8以前では動かない模様 - moroの日記
    youpy
    youpy 2006/04/02
  • Rails 1.1 RC1 Released! - moroの日記

    井上さんのところでも触れられていますが、意外と早く出ました。RJSテンプレートを始め、いろいろと変更が加えられています。とりあえずblogを斜め読み。 Rails 1.1 is supposed to be just fully backwards compatible with 1.0, but we did change just a couple of defaults, see CHANGED DEFAULT notes in the changelogs. That means we want to test Rails 1.1 with as many 1.0 applications as possible とのことで、1.0と完全互換らしいですが(当かなぁ?)、デフォルト値が変わってしまっているので、1.0で作られたたくさんのアプリケーションでテストしてみてほしいとのこと

    Rails 1.1 RC1 Released! - moroの日記
    youpy
    youpy 2006/03/29
  • rails勉強会議事メモ - 後半セッション〜懇親会 - moroの日記

    第二回rails勉強会の後半から感想にかけてです。懇親会は楽しかったんですが、結構酔っ払ってたので、きちんとした文章にまとめずらいです。 今回もいろんな方とお話できてすごく楽しかったです。次回以降もよろしくお願いします。 後半セッションはあとで書く 後半は自分がオーナーになってた「Lighttpd&Apacheの設定いろいろ」がポシャったこともあり、id:secondlifeさん主催のRESTWikiの実装とGizaにいってきました。 で、JavaScriptへの理解がたらない私としては、理解しきれなかった部分のソースを読みながら復習しようと思ってました。が、どうもセッションのときに画面で見た内容とhttp://rails2u.com/misc/restwiki_0.1.tar.gzで落とせるのが違っているような気が。。 ということで詳細に付いてはあとで書く、で。 RESTWikiのソース

    rails勉強会議事メモ - 後半セッション〜懇親会 - moroの日記
    youpy
    youpy 2006/01/31
  • rails勉強会議事メモ - 前半セッション SwitchTowerの光と影 - moroの日記

    rails勉強会いってきました。今回もいろいろ勉強になった&刺激を受けることが山盛りでした。とりあえず覚えてる範囲での議事メモを。 前半セッションではSwitchTowerの光と影ということで、id:secondlifeさんが某企業での体験を元に、SwitchTowerの実装のダサいところと、大規模システムでのdeployツールとしてSwitchTowerを使った場合の落し穴をいろいろ紹介してくださいました。 SwitchTowerの実装の影 大規模で使うときの影 まとめとか感想とか SwitchTowerの実装の影 rakeから呼び出せるようにlib/tasks/switchtower.rakeでSwitchTowerを呼び出すためだけのタスクを足している。冗長でダサい。 その上、switchtowerコマンドを決め打ちしているので、switchtowerのコマンドが備えている柔軟性*1

    rails勉強会議事メモ - 前半セッション SwitchTowerの光と影 - moroの日記
    youpy
    youpy 2006/01/29
    また行きそびれた…
  • 最近の動き - moroの日記

    Rails-1.0を受けての周辺整備なのか、長らく止まっていたswitchtowerへの修正がいくつか出ているようでした。 http://dev.rubyonrails.org/changeset/3338 そのうち書こうと思っていたままモタモタしていた*1svn checkout以外のdeployをするための変更。いまのところsvnだけですが、 set :checkout, 'export'とすることで、exportで番へdeployできるようになる、つまり.svnが番環境に残るのはどうかと、の件を解決する修正。 http://dev.rubyonrails.org/changeset/3340 いったんdeployした環境をsvn updateで最新化できるようになるタスクが追加された模様。他箇所のリファクタリングと混じってるので修正量がでかく感じますが、switchtower/l

    最近の動き - moroの日記
    youpy
    youpy 2006/01/05
  • 2005-12-18

    行ってきました。今回も楽しかったです。 前後半にわかれてオープン分科会形式でやったんですが、前半は『Chap.14 ActiveRecord Basicsを読むよ』、後半は『switchtowerを使ってみるよ』に出てきまし た。 switchtowerはid:drawnboyさんから誘われて立候補したものの、準備不足で結構メタメ タになっちゃってました。申し訳ないです。。特にかくたにさんにはマシンを借りたりrakeを教えてもらったりと大変お世話になりました。ありがとうございます。 switchtowerセッションで感じたことは、関心は高いけれどもまとまった日語が情報 がないのねぇ、ということ。個人ベースでは恩恵を受ける機会が少ない(ように見える) のが原因なのかなぁ、と思いますが、いいツールだと思うので自分でも情報を出してい きたいです。 今回チャレンジしてみた「n分でできる○○」です

    2005-12-18
    youpy
    youpy 2005/12/19
  • 2005-11-14

    コード例をいろいろ載せているんですが、それを実行する際の環境が載ってないと意味がないので、簡単にまとめて見ました。 RoRの挙動に関係がありそうなところ中心です。 続きを読む 昨日時点まででできたことをまとめてみました。 オーソドックスなdeployまでです。 続きを読む

    2005-11-14
    youpy
    youpy 2005/11/15
  • 1