rails:2812
From: "Yanagisawa" <y_yanagisawa@m...>
Date: Mon, 14 Jul 2008 18:48:34 +0900
Subject: [rails:2812] 検索機能のfunctionテストにてnilが返却されてしまう。
お世話になります。Railsを勉強中の柳澤と申します。 現在、検索画面のfunctionテストを行っているのですが、予想外のnilが返却されてしまいErrorとなってしまいます。 検証したいテストは、検索条件に合致する件数を取得し、件数が予想している値と一致するというものです。 テストの対象のcontroller.rbとtest.rbはそれぞれ下記の通りです。 *controller.rbの内容 def search @keyword = params[:searchword] if @keyword.blank? flash.now[:warning] = '検索条件が入力されていません!!' end conditions = ['group_id like ? or group_nm like ?', @keyword, "%#{@keyword}%" ] @group_masters = GroupMaster.find(:all, :order => 'group_id', :conditions => conditions) render :action =>'search' end *test.rbの内容 def test_search @group_masters = post :search, :searchword => "100" @group_masters.reload assert_equal 1, @group_masters.length end *DBのセットアップ内容は下記の通りです。 one: id: 1 group_id: 100 group_nm: A del_flg: 0 ins_user: 999999 upd_user: 999999 created_at: <%= Time.now.strftime("%Y-%m-%d %H:%M:%d") %> updated_at: <%= Time.now.strftime("%Y-%m-%d %H:%M:%d") %> *出力されたエラーメッセージは下記の通りです。 1) Error: test_search(GroupMastersControllerTest): NoMethodError: You have a nil object when you didn't expect it! You might have expected an instance of ActiveRecord::Base. The error occurred while evaluating nil.reload ./test/functional/group_masters_controller_test.rb:49:in `test_search' 自分としては、検索条件に合致する1レコードを取得できると考えていたのですが、nilが返却されているようです。 皆様のお知恵をお貸し頂ければ幸いです。よろしくお願いします。
-> @ 2812 2008-07-14 11:48 [y_yanagisawa@m... ] 検索機能のfunctionテストにてnilが返却されてしまう。 2813 2008-07-14 12:52 ┗[rudeboyjet@g... ] 2814 2008-07-14 13:39 ┗[y_yanagisawa@m... ] 2815 2008-07-15 06:46 ┗[someeda@g... ] 2816 2008-07-15 09:43 ┗[y_yanagisawa@m... ]