[前][次][番号順一覧][スレッド一覧]

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...   ]