我正在使用 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
而不是像我上面所做的那样继续,但我没有不知道如何制作,以及它是否是“正确”/“正确”的制作方式。
那么,测试“创建”控制器操作的正确方法是什么?