タグ

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

  • Rails 2.1.1での関連とバリデーションの話 - moroの日記

    from http://d.hatena.ne.jp/mat_aki/20080921/1221970970 Rails 2.1.xでは関連を作った場合のバリデーションの挙動がいろいろ変わっています。で、ぎゃーと言う声を見かけたのでIRC相談してみました。私はどうもこういう使い方をしない癖がついていたらしく、あんまりはまりませんでした。 まとめると たしかにRails 2.1.1で挙動が変わっている 保存時に関連エンティティのバリデーションをするにはhas_many宣言なんかで:validateパラメータを指定する 関連の種類とvalidateパラメータのデフォルトは次の通り has_manyはデフォルトtrue has_oneはデフォルトfalse belongs_toもデフォルトfalse habtmは調べてないww 以下IRCのログを転載。松田さんおめでとうございます。 16:17

    Rails 2.1.1での関連とバリデーションの話 - moroの日記
  • moroの日記 - resourceすごすぎる

    map.resources( :users, :has_many => :friends, :member=>[:contact] ) do |users| users.resources :todos endが、rake routesで↓となる。誰か使いこなせるんでしょうか。。まぁもちろん馬鹿正直に全部に対応する必要はないんですが。それにしてもねぇ。 (in /Users/moro/dev.build/todo_2_0) users GET /users {:action=>"index", :controller=>"users"} formatted_users GET /users.:format {:action=>"index", :controller=>"users"} POST /users {:action=>"create", :controller=>"users"

    moroの日記 - resourceすごすぎる
  • TDDとテストファースト => TDDのオレオレ定義と5回リロードルール - moroの日記

    自分でももやもやしてるのでツッコミ希望。 考えだした元記事 : http://techon.nikkeibp.co.jp/article/TOPCOL/20070806/137518/ TDDを紹介するときに、「TDDではプロダクトコードの前にテストを書く」という紹介のされかたが多いんですが、これはちょっと誤解を招く表現だなぁ、と思います。TDDを達成するための1つの(とても有効な)技法としてテストファーストがあるわけですが、その関係は"=="じゃなくて包含だよなぁ、と思うのです。 TDDは字義通りに解釈してもしなくても、テストが開発を駆動することが重要なわけです。駆動するというのはもちろん先にテストを書けば駆動してるんですけど、それは必要条件じゃない。 別にあとから作っても*1、 自分が作ってるモジュールを使ってみたら、APIが「ねーよwww」くらい使いづらいものであると気づいたり、とか

    TDDとテストファースト => TDDのオレオレ定義と5回リロードルール - moroの日記
  • まだ信者になっていない人に向けた RSpec の奨め - moroの日記

    某書籍の執筆をちゃんとやろうと再開したのですが、こんなのでリーチしますかね?抜粋。 下にいくほど信仰が高まっていますが、いちおう現世利益を前面に出してみました。 校正前とはいえ元原稿の抜粋なので、レビュー&突っ込み(これは嬉しいの?とか)大歓迎です。むしろお願いします。あと6個書けると10の理由になって流行に乗れるのでぜひに。 標準でモック機構を備えている まだ作成していないクラスの呼出側を設計する場合や、外部の認証サーバとの連携などテスト時には制御することの難しい機能開発する場合に、その難しい部分を簡単にモックすることができます。また、単にその機能があるように振る舞う(常にtrueを返す、など)ではなく、内部でどのメソッドが呼ばれるかもテスト時の検証対象にできるため、デベロッパーテストによる設計が行いやすくなります。 ビューやコントローラの単体テストを記述できる Rails のファンクシ

    まだ信者になっていない人に向けた RSpec の奨め - moroの日記
  • RSpecを0.8.x から 1.0.x にあげる際のポイントメモ - moroの日記

    RSpecは長らく0.Xリリースが続いており、APIの変更がなされていました。 しかし、2007/5/19に正式りリースである1.0.0が公開され、現在ではそのバージョンが活発にメンテナンスされています。 機能の追加はもちろん、バグ修正も多く行われており、またRSpecの開発陣も、このバージョンのAPIは後方互換性を保っていくことを表明しています。これから使いはじめる分には「テスト基盤がころころ変わる」問題は多少は収まることと思います。このへんを懸念してRSpecを導入していない方がいらしたら、このバージョンは是非さわってみてください。 ということで、実際に0.8.xで書いていたspecを1.0.0互換にしてみました。完全に1.0.xスタイルの書き方というわけでは鳴く、あくまで既存資産分を動作させるための最小限の変更、ということに御注意ください。 注意点 contextとspecify 引

    RSpecを0.8.x から 1.0.x にあげる際のポイントメモ - moroの日記
  • moroの日記 - Railsでテストを書く勘所

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

    moroの日記 - Railsでテストを書く勘所
  • デブサミ1日目#羽生さんセッション - moroの日記

    いや〜、面白かったです。レポートが上がってくれば、渋谷系セッションも聞きたかった、とは思うんでしょうが、とりあえず今日はこっち聞きにいっといてよかった。id:habuakihiroさんの日記に書かれている思いの実装をいろいろと聞かせていただいた感じ。いやなかなか、羽生さんの日記だけ見ると「そんなうまくいくの?」と思う人でも、実際にそれをやってる、というところを見せられると納得できるはず。そういう迫力のあるセッションだったかと。とにかくいろいろと刺激を受けました。アンケートに「刺激」と書こうとして字が思い出せなかったのは恥しい。以下、備忘録的レポ。 # 感想混じりですが、特に[*]で始まってる行は個人的な感想です。 500 画面のシステムを作るののざっくり見積りは幾ら?、というツカミ つい最近の事例を鑑みて 50〜100 人月に挙手。不確実性が高過ぎるのでバッファを見込みましたが、範囲の下の

    デブサミ1日目#羽生さんセッション - moroの日記
  • 1