2016-12-09 13 views
1

で新しいアクションをコントローラコントローラの新しい動作:テストは、私はRSpecのと私のコントローラの新しいアクチンをテストしようとしているが、次のエラーを取得していますRSpecの

def new 
    @category = Category.new 
    end 

新しいアクションで取得すると、新しいカテゴリを作成できるフォームが開きますd。

誰かが正しい方向に私を指すことができればそれはすばらしいでしょう。

ありがとうございました。

describe "GET #new" do 
    before(:each) do 
     session[:user_id] = valid_session.id #or something like 
     get :new 
    end 

    it "should be success" do 
     expect(assigns(:category)).to_not eq nil 
     expect(assigns(:category)).to be_a_new(Category) 
    end 
end 

あなたが得る前にセッションを設定し、この方法:新しい

+2

あなた自身のテストが大丈夫であり、問​​題を強調しているように見えます。つまり、 'new'アクションが入力されておらず、' @ category'が割り当てられていないということです。 'valid_session'がログインしているユーザーをエミュレートするための正しい資格情報を設定していますか? – David

+0

@Davidありがとう、それでした。ログインしたユーザをエミュレートする 'session [:user_id] = user.id'のためにユーザをインスタンス化していません。 – Isengrim

答えて

0

はこのような何かを試してみてください。

関連する問題