首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rspec POST控制器创建测试失败,但基于web的提交工作正常

Rspec POST控制器创建测试失败,但基于web的提交工作正常
EN

Stack Overflow用户
提问于 2012-07-30 21:13:39
回答 1查看 207关注 0票数 0

对于我的create方法,我有以下rspec测试

代码语言:javascript
复制
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方法时,它可以正常工作。知道我错过了什么吗?

编辑:我的控制器代码

代码语言:javascript
复制
  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。

代码语言:javascript
复制
@show_secretary = FactoryGirl.create(:show_secretary_user).verifiable
@show = FactoryGirl.build(:show)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-30 23:14:41

替换

代码语言:javascript
复制
@show = FactoryGirl.build(:show)

通过以下方式:

代码语言:javascript
复制
@show = FactoryGirl.attributes_for(:show)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11722339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档