Rspec渲染文本

use*_*363 9 rspec ruby-on-rails capybara rspec-rails ruby-on-rails-3

我有这个代码

if @temp_user.save
  sign_in(:user, @temp_user)
  render text: "OK"
else
  render text: render_to_string(:partial => "errors")
end
Run Code Online (Sandbox Code Playgroud)

我尝试用rspec验证渲染"OK"

这是我的实际规格:

  it "render text OK" do   
    post :create, {:agent => valid_attributes}
    # response.should have_content("OK")
    response.should render_template(:text => "OK")
  end
Run Code Online (Sandbox Code Playgroud)

但这个规范总是会响应0次失败,即使我把"OKI"放到位"OK"

有人有一个建议吗?

eag*_*gor 12

response.body.should == "OK"
Run Code Online (Sandbox Code Playgroud)

适合我


Bal*_*nan 5

如果您使用的是 Rails 3 或更高版本

expect(response.body).to eq "OK"
Run Code Online (Sandbox Code Playgroud)

将工作