Michael Hartls Rails 3 教程中的请求规范标题测试失败

2023-12-24

我正在遵循 Michael Hartl 的 Ruby On Rails 3 教程,并使用 Capybara 作为集成规范。到目前为止的集成规范如下

require 'spec_helper'

describe "StaticPages" do
  describe "Home page" do
    it "should have the h1 'Sample App'" do
      visit '/static_pages/home'
      page.should have_selector('h1',:text => 'Sample App')
    end

    it "should have the title 'Home'" do
      visit '/static_pages/home'
      page.should have_selector('title',:text => "Ruby on Rails Tutorial Sample App | Home")
    end
  end

  describe "Help page" do
    it "should have the h1 'Help'" do
      visit '/static_pages/help'
      page.should have_selector('h1',:text => 'Help')
    end

    it "should have the title 'Help'" do
      visit '/static_pages/help'
      page.should have_selector('title',:text => "Ruby on Rails Tutorial Sample App | Help")
    end
  end

  describe "About page" do
    it "should have the h1 'About Us'" do
      visit '/static_pages/about'
      page.should have_selector('h1',:text => 'About Us')
    end

    it "should have the title 'About'" do
      visit '/static_pages/about'
      page.should have_selector('title',:text => "Ruby on Rails Tutorial Sample App | About Us")
    end
  end
end

当我运行这些测试时,我得到:

 1) StaticPages Home page should have the title 'Home'
     Failure/Error: page.should have_selector('title',:text => "Ruby on Rails Tutorial Sample App | Home")
       expected #has_selector?("title") to return true, got false
     # ./spec/requests/static_pages_spec.rb:12:in `block (3 levels) in <top (required)>'

  2) StaticPages Help page should have the title 'Help'
     Failure/Error: page.should have_selector('title',:text => "Ruby on Rails Tutorial Sample App | Help")
       expected #has_selector?("title") to return true, got false
     # ./spec/requests/static_pages_spec.rb:24:in `block (3 levels) in <top (required)>'

  3) StaticPages About page should have the title 'About'
     Failure/Error: page.should have_selector('title',:text => "Ruby on Rails Tutorial Sample App | About Us")
       expected #has_selector?("title") to return true, got false
     # ./spec/requests/static_pages_spec.rb:36:in `block (3 levels) in <top (required)>'

我预计帮助和关于页面的标题测试会失败,但我的 home.html.erb 如下

<html>
<head>
  <title>Ruby on Rails Tutorial Sample App | Home</title>
</head>
<body>
<h1>Sample App</h1>
<p>
This is the homepage for the sample app
</p>
</body>
</html>

另外,我看到标题“Ruby on Rails 教程示例应用程序 |” '/static_pages/home' 上的主页'。是什么导致房屋产权测试失败?


Capybara 2.1 更改了对查询 title 元素的支持。因此,使用 have 选择器以这种方式查询 html 文档头部的 title 元素将会失败"page.should have_selector('标题', :text => '一些文本').

Use “page.should have_title('一些文本')”查询标题元素应该可以工作。这是 2.1 API 实现的用于查询 title 元素的新方法。

另外,如果您使用 capybara 2x,建议将“spec”文件夹(spec/folder)中名为“requests”的子文件夹中的文件移动到名为“features”(spec/features)的新文件夹中。

希望这能成功。

快乐编码!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Michael Hartls Rails 3 教程中的请求规范标题测试失败 的相关文章

  • Delayed_job不会运行用户定义的方法

    我一直在尝试让 DelayedJob 在后台运行一些用户定义的方法 对于这个测试用例 我在助手中定义了以下方法 def test case u User new u first name JimBob u last name joe u e
  • Rails 4 - 如何在活动记录查询中为includes()和joins()指定别名

    我如何给出别名 例如includes 给出如下 用户 活动记录模型 Student 活动记录模型 继承自User STI Teacher 活动记录模型 继承自User STI 项目 活动记录模型 这里有一些例子 第一个案例 更多性传播感染协
  • Ruby on Rails(三)隐藏部分视图

    我正在开发 Ruby on Rails 3 Web 应用程序 我有一个名为User有一列名为role 我正在寻找对视图的这些部分具有 错误 角色的用户隐藏视图部分的最佳方法 例如我希望所有用户都能够看到用户index页面 但我只想要具有角色
  • Rails:控制文件存储缓存大小

    Rails 中基于文件的缓存的文档说 请注意 缓存将不断增长 直到磁盘已满 除非您 定期清除旧条目 不幸的是 它没有提供任何有关如何定期清除旧条目的信息 是否设置合适的值 expires in完成这项工作还是清除缓存背后还有其他某种黑魔法
  • flash[:notice] 不适用于redirect_to

    我正在从控制器状态使用 flash notice message redirect to controller item action list 不知道为什么通知不显示 我尝试并检查了很多事情 flash keep flash keep n
  • 列出 Rails 控制器实例变量

    我试图列出控制器内的实例变量 但想出了 irb gt HomeController instance variable names gt visible actions inheritable attributes controller p
  • API 的集成与单元测试

    我们可以考虑向端点 单元或集成测试 发送请求吗 import lib from testing lib const testClient expect lib const response testClient request app ge
  • 如何配置 Dr. Watson 以静默方式转储崩溃的进程而不弹出任何错误对话框?

    我想知道是否可以将 Dr Watson 配置为静默转储崩溃进程而不弹出任何错误对话框 我们需要这个 因为我对一些应用程序运行了一组集成测试 我们不希望测试被错误消息框阻止 我们需要一种方法让 Dr Watson 保持沉默 但在进程崩溃时仍转
  • 如何集成测试Azure Web Jobs?

    我有一个 ASP NET Web API 应用程序 支持 Azure Web 作业 其功能由 API 控制器添加到存储队列的消息触发 使用 OWIN 测试 Web API 非常简单 但如何测试 Web 作业呢 我是否在测试运行器的内存中运行
  • 带有日期的铁路路线

    因此 我有一个每周日历视图 并且设置了一条路线来接受 year month day 作为开始日期 match events year month day gt events index constraints gt year gt d 4
  • LocalDate 与属性占位符 Spring

    我正在使用 Spring Boot 和属性占位符 我有一个属性文件 其值为 date A 24 07 17 我有一堂课 我正在使用 Value注解 Value date A private LocalDate dateA 但我在运行时遇到运
  • 如何在 Rails 3 中强制对 HTML 电子邮件进行字符编码?

    我正在使用 Rails 3 1 3 1 1 RC1 并且我已配置 ActionMailer 以使用windows 1252作为默认编码 外部要求 这与纯文本邮件完美配合 但一旦我发送 HTML 邮件 文本就会转换为UTF 8再次导致乱码文本
  • Rails Partial (Rails 3, HAML) 任意慢

    我使用的是 Rails 3 0 1 HAML 0 3 22 和 Mongrel 1 1 5 MongoMapper 不是 AR 我正在渲染一个列表 每个列表项都是它自己的部分 每次页面渲染其中一个列表项部分时 渲染时间都会延长近 100 倍
  • 回形针如何更改基本名称(文件名)?

    我正在尝试更改照片的基本名称 文件名 在我的模型中我有 attr accessor image url basename has attached file image styles gt original gt 300x250 gt pn
  • 在代码中的其他地方设计渲染符号=>向上/形式部分

    我刚刚开始使用 Devise 和 Rails3 我已经完成了身份验证并正在工作并了解基础知识 截至目前 在代表我的主页 首页的主控制器中 我有两个链接 一个链接到 注册 gt sign up 另一个链接根据登录 注销 gt sign in
  • Ruby on Rails content_for 会自动进行 HTML 转义吗?

    使用 Rails 3 0 6 我发现在视图中 如果我执行 content for food name Macaroni Cheese 然后当我使用它回来时content for food name 那么 将被制作成 amp 已经 如果我做一
  • Rails:关于产量

    我在a中看到了一些代码导轨 v2 3 app In layout car general html erb 这个视图是由 cars controller 中的方法调用的 我看到了代码 var some car new Object 有两个问
  • Rails 3 - “无法解析 Yaml”

    我不知道我做错了什么 我尝试运行 rails c 但它只是给了我一个错误 10 分钟前它还在工作 C Ruby192 lib ruby 1 9 1 psych rb 148 in parse couldn t parse YAML at l
  • save_and_open_page 已停止提供我的 CSS

    我的测试设置工作得很好 每当我打电话时 都能提供正确格式的 css 页面save and open page从测试中 然后 我设置了一些 javascript 测试 并对我的设置进行了一些更改 抱歉 我无法详细说明所有内容 我没有足够详细地
  • 如何在 HAML 中为 Devise 生成视图

    这是我的 Gemfile gem haml group development do gem hpricot gem ruby parser end 然后我在终端 命令窗口中执行以下语句 bundle install rails gener

随机推荐