首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails教程- Ch。5更漂亮的测试Rspec

Rails教程- Ch。5更漂亮的测试Rspec
EN

Stack Overflow用户
提问于 2012-08-31 15:55:10
回答 1查看 226关注 0票数 2

我真的希望有人能帮我解决这个问题。我正在学习Michael的Rails 3教程,并在第5章中碰到了一道墙。昨天我花了大部分时间试图通过回顾所有的工作来解决这个问题,并研究了关于堆栈溢出的所有相关问题。那里有大量的信息,但都没有解决我的问题,我真的不明白我哪里出了问题。

一切都进行得很顺利(网站就像书中说的那样工作),直到我到达了作者带领您清理“static_pages_spec.rb”文件的地步。我公司目前的情况如下:

代码语言:javascript
复制
require 'spec_helper'

describe "Static pages" do

subject { page }

describe "Home page" do
  before { visit root_path }

  it { should have_selector('h1',    text: 'Sample App') }
  it { should have_selector('title', text: full_title('')) }
  it { should_not have_selector 'title', text: '| Home' }
end

describe "Help page" do
  before { visit help_path }

  it { should have_selector('h1',    text: 'Help') }
  it { should have_selector('title', text: full_title('Help')) }
end

describe "About page" do
  before { visit about_path }

  it { should have_selector('h1',    text: 'About') }
  it { should have_selector('title', text: full_title('About Us')) }
end

describe "Contact page" do
  before { visit contact_path }

  it { should have_selector('h1',    text: 'Contact') }
  it { should have_selector('title', text: full_title('Contact')) }
end
end

我还有两个‘spec/support/utities.rb’文件,正如作者所描述的:

代码语言:javascript
复制
def full_title(page_title)
base_title = "Ruby on Rails Tutorial Sample App"
if page_title.empty?
  base_title
else
  "#{base_title} | #{page_title}"
end

结束

以及“app/helpers/application_helper.rb”中的以下内容

代码语言:javascript
复制
module ApplicationHelper

#Returns the full title based on a per-page basis.
def full_title(page_title)
base_title = "Ruby on Rails Tutorial Sample App"
if page_title.empty?
  base_title
else
  "#{base_title} | #{page_title}"
end
end

结束

当我跑‘警卫’(我已经通过设置警卫,斯波克等)我得到以下三个失败:

1)静态页面帮助页面失败/错误:它{应该have_selector('title',text: full_title(' Help ')) }预期的css "title“与文本”Rails教程示例应用程序示例帮助“返回>某样东西#./spec/requests/ Static _spec.rb:19: in block (3 levels) in ' 2) Static pages About page Failure/Error: it { should have\_selector('title', text: full\_title('About Us')) } expected css "title" with text "Ruby on Rails Tutorial Sample App | About Us" to >return something # ./spec/requests/static\_pages\_spec.rb:26:in块(3个级别) 3)静态页面联系页面失败/错误:它{应该have_selector(‘标题’,文本: full_title(' Contact ')) }预期的css“标题”与文本“Rails教程示例应用程序的链接”>返回某样东西#./spec/请求/静态_ pages _spec.rb:33:在‘块(3个级别)中’

该站点工作正常(路由似乎是正确的),但我确实注意到,如果我查看任何页面的源代码,标题总是“Rails教程示例应用程序”。‘\ :page_title’这个词似乎是占优势的。我只是找不到我做了什么来打破它,因为我的rspec测试是在书中的早期点工作的。

我看到了很多这样的问题,在这些问题中,那些试图帮助的人请求访问GitHub上的代码。为了快速发现我的错误,我把所有的代码都放在了上面:

https://github.com/rbrowndev/sampleapp.git

https://github.com/rbrowndev/sampleapp/tree/filling-in-layout

由于我是新手,请让我知道,如果存储库没有正确配置,允许您克隆该项目。我相信我是这样安排的,但因为我是个新手.

如果有人能帮忙的话,我们将不胜感激。请让我知道,如果您希望我在这里张贴更多的源代码,所以,而不是仅仅在GitHub上。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2013-02-17 18:35:53

有一个bug阻止我们检查标题字段中的文本(实际上,它是任何不可见的内容):https://github.com/jnicklas/capybara/issues/844

到目前为止,这似乎是启用在规范中检查标题文本的最佳方法:https://stackoverflow.com/a/13755730/359957

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12218804

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档