fixture のインスタンス化ではまる(Rails 勉強中 #2) 3
Agile Web Development With Rails の Chapter 12. Task T: TESTING でまたはまる。
P148 にある test_read_with_hash と test_read_with_fixture_variable が通らない。 @products や @version_control_book とかで fixture の内容が参照できる、って書いてあるんだけど、どうやら @products も @version_control_book も nil のようだ。
なんか見落としているのかなぁ、と思って、Chapter 12 を最初から読み返してみたり、google 先生に尋ねたりしても、よくわからない。
で、test/test_helper.rb を覗いてみると、以下のような記述が。
self.use_instantiated_fixtures = false
これを true にしてやることで、 @products や @version_control_book で fixture の内容が参照できるようになり、無事にテストが通りました。
前エントリの Transactional Fixtures の件といいこの件といい、デフォルトの挙動が本の執筆時点とは変更されているようです。で、調べてみると、1.0RC2 あたりからこのようにデフォルトが変更されている、と Mike Clark's Weblog に書いてありました。
Trackbacks
Use the following link to trackback from your own site:
http://blog.mizzy.org/articles/trackback/322
わたしもはまりました。 あっちここっちのサイトをぐるぐる回って、やっとここにたどり着きました。 ありがとうございます!!!!!!!
というか、「Agile Web Development With Rails 」の日本語版みたら、『訳注』に書いてました。
..............灯台元暗し................. orz
というか、「Agile Web Development With Rails 」の日本語版みたら、『訳注』に書いてました。
..............灯台元暗し................. orz