gpt4 book ai didi

ruby-on-rails - 使用rspec验证页面标题

转载 作者:行者123 更新时间:2023-12-04 04:08:09 25 4
gpt4 key购买 nike

我正在经历Michael Hartl的Rails Tutorial

我正在尝试验证页面的标题。测试看起来像这样:

it "should have the right title" do
get 'home'
response.should have_selector("title", :content => "Ruby on Rails Tutorial Sample App | Home")
end

HTML头部分看起来像这样
<head>
<title>Ruby on Rails Tutorial Sample App | Home</title>
</head>

我遇到以下失败

1) PagesController GET 'home' should have the right title Failure/Error: response.should have_selector("title", :content => "Ruby on Rails Tutorial Sample App | Home") expected following output to contain a Ruby on Rails Tutorial Sample App | Home tag: # ./spec/controllers/pages_controller_spec.rb:13:in `block (3 levels) in '



我希望这会过去。我究竟做错了什么?我正在使用Rails 3和RSpec 2.0.0

最佳答案

Controller 规范通常无法呈现完整 View ,因为它们旨在隔离测试 Controller 。您可以通过在示例组顶部添加指令integrate_views来告诉Rspec渲染整个页面:

describe MyController do
integrate_views

但是,您应该问自己是否真的要这样做,或者编写 View 规范是否更有意义。

顺便说一句,您还可以使用CSS3选择器语法来保存一些击键(为此可能需要包括Webrat匹配器):
response.should have_selector("title:contains('Ruby on Rails Tutorial Sample App | Home')")

编辑

对于Rspec2,将 integrate_views替换为 render_views

关于ruby-on-rails - 使用rspec验证页面标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3971449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com