如何在渲染视图上测试文本?

sim*_*imo 5 rspec rspec2 ruby-on-rails-3.2

这是我的测试:

require "rspec"

describe HomeController do
  render_views

  it "should renders the home" do
    get :home
    response.should render_template("home")
    response.should include_text("Simulate Circuits Online")
  end

end
Run Code Online (Sandbox Code Playgroud)

但是,我得到了:

1) HomeController should renders the home
     Failure/Error: response.should include_text("Some text to be test ..")
     NoMethodError:
       undefined method `include_text' for #<RSpec::Core::ExampleGroup::Nested_1:0xd429a0c>
     # ./spec/controllers/home_controller_spec.rb:9:in `block (2 levels) in <top (required)>'
     # (eval):6:in `block in fork'
     # (eval):6:in `fork'
     # (eval):6:in `fork'
Run Code Online (Sandbox Code Playgroud)

那么,测试所呈现文本的正确方法是什么?

编辑 如果我尝试 response.should have_content("My text ..")

我明白了

1) HomeController should renders the home
     Failure/Error: response.should have_content("My text ..")
       expected there to be text "My text .." in "#"
     # ./spec/controllers/home_controller_spec.rb:9:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

Per*_*heo 5

在您的视图模板中,您实际上有要检查的文本吗?该错误似乎是它实际上无法找到文本。

另外,尝试使用response.should have_text.