5

これが私のテストです:

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

しかし、私は得ました:

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'

では、レンダリングされたテキストをテストする正しい方法は何でしょうか?

編集 しようとしたら 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)>'
4

3 に答える 3

4

ビュー テンプレートに、チェックしているテキストが実際にありますか? エラーは、実際にテキストを見つけることができなかったことのようです。

また、使ってみてくださいresponse.should have_text

于 2013-01-26T01:34:01.073 に答える
1

これを試して:

response.should have_content("Simulate Circuits Online")
于 2013-01-25T06:32:18.987 に答える