2011-02-09 20 views
0

Rails 3.0.3の使用。質問レールのテスト投稿

私はroutes.rbをで次のルートがあります。


match "user/create_new_password/:reset_password_key" =>"users#create_new_password", :via=>[:get, :post], :as=>:create_new_password 
 

形で、ビューでこのルートを使用して、それがうまく動作し、しかし、私はそれをテストすることはできませんよ。


test "fail create password with invalid key" do 
    post :create_new_password, {:create_new_password=>{:password=>"1", :password_confirmation=>"1"}, :reset_password_key=>"user.reset_password_key"} 
end 
 

をそして私はエラーを取得しています:私は私の機能テストでこれをやっている


ActionController::RoutingError: No route matches {:create_new_password=>{:password=>"1", :password_confirmation=>"1"}, :reset_password_key=>"user.reset_password_key", :controller=>"users", :action=>"create_new_password"} 
 

ここで間違っているのですか?

答えて

0

ので、問題は

:reset_password_key

 

test "fail create password with invalid key" do 
    post :create_new_password, {:create_new_password=>{:password=>"1", :password_confirmation=>"1"}, :reset_password_key=>"user.reset_password_key"} 
end 
 

のためのパラメータ値にあったと間違って何かだと思われます。 (ドット)をパラメータ値に設定します。

"。"を付けずに他の値に変更すると、 (ドット)、すべてが問題ありません。期待どおり次の動作:

 

test "fail create password with invalid key" do 
    post :create_new_password, {:create_new_password=>{:password=>"1", :password_confirmation=>"1"}, :reset_password_key=>"user_reset_password_key"} 
end