对于我的create方法,我有以下rspec测试
describe "with valid information" do
it "should respond with success" do
post 'create', :show_secretary_id => @show_secretary.id, :show => @show
response.should be_success
end
it "should incremenet the show count" do
expect do
post 'create', :show_secretary_id => @show_secretary.id, :show => @show
end.to change(Show,'count').by(1)
end
end测试失败。但是,当我在浏览器中尝试create方法时,它可以正常工作。知道我错过了什么吗?
编辑:我的控制器代码
def create
@show_secretary = ShowSecretary.find_by_id(params[:show_secretary_id])
@show = @show_secretary.shows.build(params[:show])
if @show.save
flash[:notice] = "Successfully created show"
redirect_to show_path @show
else
render 'new'
end
end编辑:@show_secretary,@show
这两个对象分别是由FactoryGirl创建和构建的ActiveRecords。
@show_secretary = FactoryGirl.create(:show_secretary_user).verifiable
@show = FactoryGirl.build(:show)发布于 2012-07-30 23:14:41
替换
@show = FactoryGirl.build(:show)通过以下方式:
@show = FactoryGirl.attributes_for(:show)https://stackoverflow.com/questions/11722339
复制相似问题