• ブログ
  • ふぉとす
  • キーワード
  • ブックマーク
  • 写真
  • ログイン

Title

« Rails2.0PRでRspecを走らせる | このためだけにPS3が欲しい »
  • Rspecではそれぞれの検証が分離している 2007-11-10 00:00:00

     言葉にすると至極あたりまえの話のような気もしますが、Rspecでは、モデルとコントローラとビューのテストはそれぞれ分離されています(Rspecでも、should have_tagでビューの検証ができてしまいますが、結合度が密になりやすそうなのであまり使わないほうがいいかもです)。結合度を疎にすることによって、コントローラの仕様を考えるときはそれに専念することができます。そして、どこかのエラーが他に影響を及ぼすのを防いでいます。例えば、ビューの仕様を変更してエラーが出たとき、そのビューの仕様をコントローラに書いているとコントローラでもエラーが出る(当たり前すぎることを書いていますね)のです。
     とはいえ、Test::Unitのfunctionテストとかだと、結構普通にコントローラとビューのテストを一緒に書いちゃってます。

      def test_diary
        get "diary", {:id => diaries(:abe_1).id}
        assert_response :success
        assert_template "diary/show"
        assert_select "#diary_#{diaries(:abe_1).id}" do
          assert_select "#title", diaries(:abe_1).title
          assert_select "#body", diaries(:abe_1).body
        end
      end
    

     ここでデザイナさんが、日記の内容のIDを"#message"に変えたりすると、このテストはエラーになってしまいます。しかし、コントローラがおかしくてエラーになるわけではないのです。
     さらにいうと、ここでDiaryモデルがid値からインスタンスを取得する部分の仕様を変えたときに、エラーになる可能性があります。
     ここで疎結合を保つために登場するのがmockとstubなのですね。なるほど。

    Commentコメント(0) Pageリンク元(33) Append 276
  • 敵は海賊・正義の眼 (ハヤカワ文庫 JA カ 3-37)
    メディア: 文庫
    マンガと図解で入門!貿易書類のことが全部わかる本―輸出・輸入に関する全書類の流れと作成のしかた この1冊ですべてOK!
    メディア: 単行本
« Rails2.0PRでRspecを走らせる | このためだけにPS3が欲しい »

プロフィール

おおいしつかさ

Amazon商品の一覧

人気の記事ベスト10

  • 1.apache+mod_proxy_balancer+mongrelでRailsを動かす方法
  • 2.Perlでevalを使ってみる
  • 3.バージョン管理をsubversionからgitに移行してみた
  • 4.tokyobikeのドロップハンドル化
  • 5.ubuntu8.04でデュアルディスプレイを使う
  • 6.restful_authenticationを使ってみた
  • 7.URLなど、長い英字を折り返して表示する方法
  • 8.Rspecでコントローラのspecファイルを書く
  • 9.RailsとPostfixで受信メールを処理する方法
  • 10.フラグメントキャッシュをRailsで使う。

コメント

  • ユル(プログラマが若隠居をしたら)
  • ユル(風邪ひいた)
  • ユル(バイクがへたくそになっていた)
  • おおいしつかさ(便利になって不便になる)
  • 武石(便利になって不便になる)
  • ユル(劇場版 天元突破グレンラガン)
  • ユル(フラニーとゾーイー (新潮文庫): サリンジャー, 野崎 孝: 本)

過去の記事

2006年
12月
2007年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月 12月
2008年
1月 2月 3月 4月 5月 6月 7月 8月 9月 10月 11月

キーワード一覧

ActionScript AmazonResources git javascript kaeruspoon milook NSR Objective-C Rails Ruby Ruby on Rails subversion Thin tokyobike ubuntu VAIO VAIO typeZ Waves Xen ぐりぐり カンタロー スノボー ドトール ドライブ バイク プログラミング ユルさん 執筆 日本酒 模型 真中洋嗣 自転車

Youtube

ニコニコ動画