2008年5月16日金曜日

fixture の設定


デフォルトでは、利用しない形式になっているので
設定をする必要がある。


/test/test_helper.rb
self.use_instantiated_fixtures  = true   # ここを true にする



これで units and functionals ともに利用可能になる。


rake db:migrate で development 環境へ作成したテーブル類から
test 環境へ clone を作成する。
$ rake db:test:clone_structure



2.0 からなのか、YAML の変数名が数値のみの場合、エラーとなる。
(1.2 のときは確実に作成できてたけどなぁ)


YAML の定義
001:
title: title001.
text: text001.

テストコード
fixtures :contents
def test_001
assert_equal "title001.",contents('001').title
end

結果
NameError: `@1' is not allowed as an instance variable name



変数名を文字列として扱えば、ちゃんと動作する。(n001: など)
なんでだろ???

0 件のコメント: