dirfixtures/functional/mocks/unit/test_helper.rbfixturesはテスト用データベースの初期化時に初期データとして投入するデータを定義したYAML(*.yml)ファイルを格納するディレクトリ、functionalは機能テストを格納するディレクトリ、mocksはモックを格納するディレクトリ、unitはユニットテストを格納するディレクトリになる。test_helper.rbはテスト用の共通関数、定義置き場。†モデルを定義して、テストを作成する。Bookこの段階で、test/unit/book_test.rbtest/fixtures/books.ymlが自動作成されるbook_test.rbはBookクラス用のユニットテスト、books.ymlはBookモデル用のfixtureになる。endendRailsのテストクラスはTest::Unit::TestCaseクラスのサブクラスになっている。Test::UnitフレームワークはRailsにバンドルされているので、この段階ですぐにテスト実行してみることができる。test/unit/book_test.rbRailsはtestスクリプトを実行するたびに、テストデータベースを作成し、テストメソッドを実行するたびにfixtureのデータでテストデータベースのデータを初期化する。テストデータべースにdb/gentest.dbのスキーマを定義していないので、この検査は失敗する。nil.[]ちょっと調べてみたが、原因はまだ不明。2idだけがデータセットされている状態。†test/unit/book_test.rbにsetup()、test_create()メソッドを下記のように定義する(Test::Unitはtest_で始まるメソッドを全て自動実行する。endsetup()メソッドではidが1のBookレコードを@bookに格納し、各テストメソッドで参照できるようにしている。test_create()メソッドではまず、@bookがBookモデルのオブジェクトであることを確認し、その後オブジェクトのid、title、descriptonが正しくセットされていることを確認している。†test/unit/book_test.rbにtest_update()メソッドを下記のように定義する。†test/unit/book_test.rbにtest_destroy()メソッドを下記のように定義する。Yourself)に反する。end下記のようにすれば、マッチするfixtureを自動で探して値をとってきてくれるのでより楽。