Ruby on Rails 3.2.2、Rspec 2.9.0、および RspecRails 2.9.0 を使用しています。コントローラーのアクションをテストしたいのですcreate
が、それを「正しい」/「適切な」方法にする方法がわかりません。モデル、コントローラー、ビューなどのファイルを「足場」にしたので、これらのファイルには、Ruby on Rails ジェネレーターによって生成された共通コードがあります。私のスペックファイルには次のものがあります:
it "assigns @article" do
new_article = FactoryGirl.build(:article)
Article.should_receive(:new).and_return(new_article)
post :create
assigns[:article].should eq(new_article)
end
たぶん、(注:上記のコードは、コントローラーアクションをテストするために使用するものとほぼ同じですnew
)コントローラーアクションをテストするより良い方法は、上記のように続行するのではなくcreate
、アクション中に属性値を渡すことですpost :create
が、私はしませんそれをどのように作るか、それが「正しい」/「適切な」ものを作る方法であるかどうかはわかりません.
では、「作成」コントローラー アクションをテストする適切な方法は何ですか?