0

我正在尝试检查页面的标题,但它失败了:

rspec ./spec/controllers/pages_controller_spec.rb:13 # PagesController GET 'home' should have the right title

这是 pages_controller_spec.erb 的样子:

render_views

describe "GET 'home'" do
    it "returns http success" do
      get 'home'
      response.should be_success
    end

    it "should have the right title" do
      get 'home'
      response.should have_selector("title",:content => "Home")
    end
  end
4

3 回答 3

0

据此,我认为您:text不需要:content

http://rubydoc.info/github/jnicklas/capybara/master/Capybara/Node/Finders#all-instance_method

我希望这会有所帮助。

于 2013-01-22T03:03:00.017 回答
0

根据 house9 所说的,您应该在其他地方测试视图的标题,而不是在控制器规范中。例如,您可以在您的规范目录中创建一个“请求”目录并在那里测试页面功能。有关请求规格的更多信息:

http://railscasts.com/episodes/257-request-specs-and-capybara?view=asciicast

于 2013-02-19T03:18:55.103 回答
0

rspec 控制器测试存根视图,以便您可以单独测试控制器

如果您检查响应对象,它可能包含一个空白字符串

你应该测试的想法

  • 如果呈现了正确的模板
  • 如果控制器正确重定向
  • 如果控制器调用了正确的模型等...

话虽如此,如果您希望测试呈现视图,render_views请在描述块中使用

于 2013-01-22T03:15:47.460 回答