ruby on Rails rspec 错误

2024-04-03

我正在阅读“通过示例学习 Rails”一书,并尝试运行测试。由于某种原因,我无法让 rspec 正常工作。

如果我运行rspec spec/按照他的指示执行命令,我收到以下错误:

$ rspec spec/
/home/desktop/.rvm/gems/ruby-1.9.2-p136/gems/bundler-1.0.21/lib/bundler/runtime.rb:31:in `block in setup': 
You have already activated rspec-core 2.7.1, but your Gemfile requires rspec-core 2.6.4. 
Using bundle exec may solve this. (Gem::LoadError)

奇怪的是我的 Gemfile 没有指定版本——

group :development do
  gem 'rspec-rails'
end

group :test do
  gem 'rspec'
  gem 'webrat'
end

如果我按照错误消息中的建议并使用bundle exec rspec spec/那么前两个测试通过了——但是我们在教程中构建的新“关于”页面失败并出现以下错误,即使据我所知我构建的页面(以及控制器操作等)与他们应该是:

Failures:

  1) PagesController GET 'about' should be successful
     Failure/Error: response.should_be_success
     NoMethodError:
       undefined method `should_be_success' for #<ActionController::TestResponse:0x00000003539438>
     # ./spec/controllers/pages_controller_spec.rb:23:in `block (3 levels) in <top (required)>'

Finished in 0.10861 seconds
3 examples, 1 failure

Failed examples:

rspec ./spec/controllers/pages_controller_spec.rb:21 # PagesController GET 'about' should be successful

我是一位经验丰富的程序员,但我遇到了无数与冲突的 gem 版本和一百种不同的方法来使用 Rails 完成所有不同任务的问题(例如“使用 RVM”、“不使用 RVM”、“安装使用 sudo 的 gems”、“不要使用 sudo 安装 gems”等)

我的开发机器运行的是 ubuntu Linux。

感谢您的帮助——如果您明白我在 Ruby noob 语言中做错了什么,请解释一下!


Running bundle exec是正确的,并且是必需的,因为您安装了该 gem 的较新版本,而不是 Gemfile.lock 中指定的版本。使用bundle exec覆盖加载路径,导致仅加载 Gemfile.lock 中指定的 gem。 (您可能会发现别名很方便bundle exec到更短的东西。)

第二个问题的答案就在错误消息中:

undefined method `should_be_success'

它应该是should be_success.

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

ruby on Rails rspec 错误 的相关文章

  • 如何在 Rails 测试中测试 params 哈希?

    以下内容会生成错误 未定义的局部变量或方法 params assert equal params recipient id users one id 如何测试参数哈希 另外 你如何测试assert redirect当存在参数时 参数附加到
  • yard 0.7.3 无法在 Markdown 和 Textile 中构建我的自述文件

    我决定将我的项目中的 README 文件转换为 Markdown 并一直使用yard 验证文档是否正确呈现 所以我安装了 rdiscount 将 README 更改为 README md 并尝试 yard doc README md 这给了
  • 如何从 ruby​​ 中的字符串名称创建类实例?

    我有一个类的名称 我想创建该类的一个实例 以便我可以循环该类的架构中存在的每个 Rails 属性 我该怎么做呢 我的名称是我想要检查的类的字符串 我想我需要实例化一个类实例 以便我可以 循环遍历它的属性并打印它们 在 Rails 中你可以这
  • Rails 4:资产未在生产中加载

    我正在尝试将我的应用程序投入生产 但图像和 CSS 资源路径不起作用 这是我目前正在做的事情 图像资源位于 app assets images image jpg 样式表位于 app assets stylesheets style css
  • Rails 控制台无法运行

    rbenv 红宝石版本 2 6 6 导轨版本 5 1 4 我正在较旧的代码库中工作 ruby 2 6 6 rails 5 4 1 这是我每天使用的代码库 我必须通过 rbenv 下载一个新的 ruby 版本作为单独的存储库 这样做在我的旧代
  • 如何使用 Rspec 测试具有嵌套路由的控制器?

    我有 2 个使用轨道脚手架生成器创建的控制器 我希望它们嵌套在一个名为 demo 的文件夹中 所以运行 rails g scaffold demo flows rails g scaffold demo nodes 然后我决定将节点嵌套在流
  • (Rails) Assert_Select 的烦人警告

    有谁知道如何让assert select在rake测试期间不输出所有那些讨厌的html警告 你知道 就像这样的东西 ignoring attempt to close body with div opened at byte 1036 li
  • 浏览器关闭时 Omniauth 会话过期

    在我的 Rails 3 应用程序中 我使用 Omniauth 进行用户身份验证部分 fb twitter 实际上我遵循这个 https github com RailsApps rails3 mongoid omniauth https g
  • Rails:named_scope、lambda 和块

    我认为以下两个是等效的 named scope admin lambda company id conditions gt company id company id named scope admin lambda do company
  • Nokogiri 保持 HTML 实体不变

    我希望 Nokogiri 保持 HTML 实体不变 但它似乎正在将实体转换为实际的符号 例如 Nokogiri HTML fragment p reg p to s 结果是 p p 似乎没有什么可以将原始 HTML 返回给我 inner h
  • 使用 Ruby aws-sdk 跟踪文件到 S3 的上传进度

    首先 我知道SO中有很多与此类似的问题 在过去的一周里 我读了大部分 如果不是全部 但我仍然无法让这项工作为我工作 我正在开发一个 Ruby on Rails 应用程序 允许用户将 mp3 文件上传到 Amazon S3 上传本身工作正常
  • Rails - 渲染:目标锚标记的操作?

    我希望像这样使用渲染 render action gt page form 我也尝试过这个 render template gt site page form 那也没用 这个特定页面上的表单位于最底部 如果提交时发生任何错误 我不希望用户被
  • 已定义方法的 Ruby 钩子?

    我一直在谷歌上搜索这个问题 但找不到答案 这让我认为答案是否定的 但我想我会在这里问 以防有人确切知道 Ruby 是否有一个钩子来定义方法 即在模块或类上 如果没有 是否有人足够熟悉该实施的情况main对象以了解它到底如何将方法复制到Obj
  • 用户未定义的方法 attr_accessible 错误

    我正在尝试创建某种登录 我创建了一个用户脚手架并将此代码放在我的 user rb 中 class User lt ActiveRecord Base attr accessible name password digest password
  • Ruby require 'file' 不起作用,但 require './file' 可以。为什么?

    我有一个充满 ruby 文件的文件夹 当我尝试使用位于同一目录中的另一个文件中的一个文件时require file 我得到一个LoadError但是当我使用require file 一切正常 有人可以向我解释为什么会发生这种情况吗 如果有什
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • 在端口80启动webrick(mysql2 gem问题)

    我正在尝试让我的 webrick 在端口 80 上提供服务 我尝试过 rails server p 80 但访问被拒绝 后来我明白使用端口1 1024需要root权限 所以我尝试了这个 sudo rails server p 80 但是 现
  • 红宝石接球和效率

    catch在 Ruby 中意味着跳出深度嵌套的代码 在 Java 中 例如用Java也可以达到同样的效果try catch用于处理异常 但它被认为是糟糕的解决方案 而且效率非常低 在 Ruby 中 我们有处理异常的方法begin raise
  • 如何为 ApplicationController 中 after_action 过滤器中的所有操作渲染 json?

    是否可以在 Rails ApplicationController 中创建一个 after filter 方法 该方法在每个操作上运行并呈现为 JSON 我正在构建一个 API 并且希望将控制器中的每个操作的输出呈现为 JSON 客户控制器
  • 将rails_admin 与rails_api 结合使用

    我最初将此发布为Rails api GitHub 上的问题 https github com sferik rails admin issues 2617 但由于不活跃 我现在将其发布在这里 我正在尝试使用rails admin使用 Rai

随机推荐

  • 如何从Qt调用evaluateJavaScript()函数?

    我无法从 QT 调用 javascript 函数 我正在使用下面的代码 QT代码 QWebFrame frame m d gt m webView gt page gt mainFrame frame gt evaluateJavaScri
  • Acumatica 实时动态下拉列表

    我有以下用例 Acumatica 组合框 下拉列表 可以有 8 个左右的值 其选择决定了用于在组合框 下拉列表中呈现的表 DAC e g 如果当前StatusProfileID WO1 和Status WCMP WCMP 是当前版本User
  • jQuery 选择器检查元素是否动画隐藏

    有没有办法判断一个元素是否被隐藏或当前正在隐藏 通过动画 我能想到的唯一方法是将标志存储在元素的data你打电话时show or hide 但我想知道是否还有其他方法 你能为它做一个自定义的 jQuery 选择器吗 function var
  • 可达性 - 奇怪的问题

    Reachability r Reachability reachabilityWithHostName www google com 这条线在设备上工作正常 但在模拟器上我崩溃了 由于未捕获的异常 NSInvalidArgumentExc
  • 如何在 jQuery 中读取绑定的悬停回调函数

    我使用 jQuery 为页面上的元素设置悬停回调 我现在正在编写一个模块 需要临时为某些元素设置新的悬停行为 新模块无法访问悬停功能的原始代码 我想在设置新的悬停功能之前存储旧的悬停功能 以便在完成临时悬停行为后可以恢复它们 我认为这些可以
  • 从 bash 在默认编辑器中打开文件

    如何使用 bash 打开使用默认 GUI 编辑器生成的脚本生成的文件 在 OS X 上有命令open 但据我所知 linux 上不存在 什么是好的跨平台替代方案 执行open somefile ext在 OS X 上 效果与我在 Finde
  • 无法在 ASP.NET 中纠正 VeraCode CWE ID 918 - (SSRF)

    长话短说 无论我如何尝试 VeraCode 都会继续将我的 8 行代码标记为 CWE 918 缺陷 这是旧代码 所以我不确定为什么它突然被标记 这是一个示例 offending 方法 其中标记行以粗体显示 public virtual as
  • ItemTouchHelper startSwipe 不起作用

    我尝试在适配器内使用 startSwipe 但似乎不起作用 奇怪的是 当我尝试用手指手动滑动它时 它起作用了 只是当我单击支架内的按钮时 startSwipe 不起作用 需要这方面的帮助 这是我调用 startSwipe 的地方 在 onC
  • Intellij+Springboot+Thymeleaf+gradle - 自动重新加载html资源

    我正在使用 IntelliJ Ultimate Spring Boot 和 Thymeleaf 我想启用 HTML 自动重新加载 而无需重新启动服务器 也无需使用 CTRL F9 我已经阅读了以下内容 我认为它应该有效 但事实并非如此 ht
  • 自定义适配器不显示任何项目

    这是先前问题的后续 ListView android 行中的 ImageButton 不工作 https stackoverflow com questions 29819256 imagebutton within row of list
  • Google 地图路线 API - 到达时间?

    我使用 Google Directions API 来计算两个地点之间所需的时间 API 给了我一个选择departure time 我可以在其中传递出发时间 或 现在 的时间戳 那么答案就是duration in traffic 这真的很
  • 使用 PyQT 逐帧加载 opencv 视频

    我正在尝试加载一个 mat 文件 具有被跟踪对象的位置坐标 并加载一个视频文件 为了加载视频文件 我使用 opencv 我制作了一个 GUI 来加载它们 一旦有人按下开始按钮 视频就会开始播放 暂停会停止播放 这是它的 GUI 这是我遇到的
  • 如何从 Perl 设置 Windows PATH 变量?

    我需要在 Perl 中设置环境变量 理想情况下 我需要查询一个变量 然后在不需要时更改它 具体来说 我要更改的是 PATH 变量 我如何获取和设置这些变量 如果您需要全局且永久地更改环境变量 就像在控制面板中设置它一样 那么您必须与注册表混
  • 捕获一个索引位置中的字符串并移动到 xml 文件中的另一个索引位置

    我是一名 Python 初学者 想要将现有的 xml 文件转换为 LaTeX 文档 xml 包含许多脚注 有时会被拆分 因为它们不适合原始文档 一本旧书 中的一页 并且 xml 文件的创建者希望布局尽可能接近原始文档 在分割的脚注之间有普通
  • git log 不显示提交,但 git log 显示编辑文件的提交

    我在寻找丢失的零钱时发现了这个奇怪的问题 我输入 git log httpd conf 我按照预期得到了一堆提交哈希 但不是我所做的 当我输入 git log 我看到了我所做的承诺 当我跑步时 git show
  • 安装最新版本的 jenkins 时出现问题

    在我的 Ubuntu 机器上 我尝试本地安装 jenkins 我已经遵循了这个指南 https wiki jenkins ci org display JENKINS Installing Jenkins on Ubuntu https w
  • 无法使用 add() 添加 jvmArgs,为什么?

    谁能解释为什么第一个示例有效而第二个示例不起作用 test jvmArgs Xdebug Xrunjdwp transport dt socket server y suspend y address 4000 test jvmArgs a
  • MySQL InnoDB auto_increment 值增加 2 而不是 1。 病毒?

    有一个 InnoDB 表 用于存储自定义构建的 Web 应用程序使用的博客文章的评论 最近我注意到评论的自动递增主键值增加了 2 而不是仅增加 1 我还注意到 在另一个用于记住最后几个评论者的足迹签名 例如 ip 会话 id uagent
  • 如何使用 Google Guice 实现“机器人腿”用例?

    我正在学习 Google Guice 你知道如何实现 机器人腿 问题吗 让我用一个例子来解释这一点 假设我有一些名为Service Singleton public class Service Inject Source source 界面
  • ruby on Rails rspec 错误

    我正在阅读 通过示例学习 Rails 一书 并尝试运行测试 由于某种原因 我无法让 rspec 正常工作 如果我运行rspec spec 按照他的指示执行命令 我收到以下错误 rspec spec home desktop rvm gems