RSpec 控制器测试 - 空白响应.body

2024-01-24

在使用 RSpec 测试我的控制器时,我遇到了一个问题 - response.body 调用总是返回一个空字符串。在浏览器中,一切都正确呈现,并且 Cucumber 功能测试似乎正确,但 RSpec 每次都会失败。

对响应对象的其他期望,例如response.should render_template('index')没有任何问题就可以通过。

你们中有人以前遇到过这个问题吗?也许可以通过其他方式获取响应 html?

至于版本,Rails 2.1.0、RSpec 1.2.7。


默认情况下,rspec-rails 会侵入 Railsprevent它来自实际渲染视图模板。您应该只测试操作的行为并过滤控制器测试,而不是模板渲染的结果 - 这就是视图规范的用途。

但是,如果您希望像应用程序通常那样制作控制器规格渲染模板,请使用render_views https://www.relishapp.com/rspec/rspec-rails/docs/controller-specs/render-views指示:

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

RSpec 控制器测试 - 空白响应.body 的相关文章

  • Rails:渲染不起作用,仍然出现“模板丢失”

    我目前正在学习 Rails 指南 我完成了这些步骤 但仍然遇到错误 我的 Ruby 版本是ruby 2 1 1p76Rails 版本是4 0 4 按照指南的指示 我创建了一个Article Controller class Articles
  • (在 Ruby 中)允许混合类方法访问类常量

    我有一个为其定义常量的类 然后我定义了一个类方法来访问该类常量 这很好用 一个例子 usr bin env ruby class NonInstantiableClass Const hello world class lt lt self
  • 无需别名的 Ruby YAML 编写

    我正在从 ruby 将数据写入 yaml 文件 并且经常在该文件上添加别名 像 id001 somekey somevalue id001 就我而言 我使用 yaml 文件来aid可读性并将名称添加到文件中的值 因为现有数据只是 没有键的分
  • 用于 RESTful 轨道应用程序的简单面包屑

    是否有任何辅助方法 除了默认 Rails 面包屑导航 http wiki rubyonrails org rails pages Breadcrumbs 为特定页面动态生成面包屑导航 而无需在 RESTful 应用程序中传递琐碎的参数 也就
  • Eventmachine start_tcp_server 无接受器 - 端口正在使用或需要 root 权限(运行时错误)

    我已经 3 天无法运行本地服务器了 重新启动我的计算机没有帮助 有几次 在反复尝试大约 40 50 次之后 它随机地起作用了 我不明白为什么 我尝试过一次不同的端口并且有效 但从那以后 没有端口有效 每次我尝试运行我的 Rails 服务器时
  • Rails:关于产量

    我在a中看到了一些代码导轨 v2 3 app In layout car general html erb 这个视图是由 cars controller 中的方法调用的 我看到了代码 var some car new Object 有两个问
  • Capybara 的 has_selector 有哪些选项?

    我在 RSpec 中遇到此错误 有没有任何文档have selector解释了选项哈希中的每个键以及它到底有什么作用 invalid keys content should be one of text visible between co
  • 使用 Minitest 测试自定义验证器

    我有多个带有电子邮件验证的模型 因此 我将验证提取到自定义验证器中 我按照以下教程做到了这一点导轨指南 http guides rubyonrails org active record validations html custom va
  • 在任意时间范围内找到最佳日/月/年间隔的算法?

    如果您有时间表 请说 March 19 2009 July 15 2011 是否有一种算法可以将该时间范围分解为 March 19 2009 March 31 2009 complete days April 1 2009 December
  • 设备注册控制器获取零资源的自定义操作

    基本上我想要有两个单独的操作来更改密码和更改电子邮件 而不是只有一个 我已经更新了我的路由以指向继承自 Devise RegistrationsController 的新控制器 我的路线 rb devise for users contro
  • 从其父应用程序运行 Rails 引擎的规范

    我有用于父应用程序的 rspec 套件 以及附加的一些引擎规范 我想要的是用一个命令来运行它们 有没有办法将我的 gems 路径包含到 rspec 加载路径中 或者我应该为此编写 rake 任务 我认为这是一个有趣的问题 但我的观点是 Ra
  • HABTM 关系和accepts_nested_attributes_for

    我有一个可以让我创建的表单新博客文章我希望能够创造新类别来自同一个表格 我在帖子和类别之间有一个习惯关系 这就是我遇到麻烦的原因 我有以下2个型号 class Post lt ActiveRecord Base has and belong
  • ruby 的 String .hash 方法如何工作?

    我只是红宝石的新手 我见过一个字符串方法 String hash 例如 在irb 我试过了 gt gt mgpyone hash returns gt 144611910 这个方法是如何工作的 The hash方法是为所有对象定义的 看文档
  • 带有附加参数的redirect_to

    我是一个菜鸟 redirect to users url notice Succeed p p 然后我添加一个message它失败了 redirect to users url notice Succeed message test p p
  • Ruby on Rails 3 - 为每个请求重新加载 lib 目录

    我正在为 Rails 3 应用程序创建一个新引擎 正如您所猜测的 该引擎位于我的应用程序的 lib 目录中 但是 我在开发它时遇到了一些问题 事实上 每次更改引擎中的某些内容时 我都需要重新启动服务器 有办法避免这种情况吗 我可以强制rai
  • 在特定页面上执行 javascript 的正确“Rails”方式

    我试图在特定页面上运行 javascript 而我唯一的解决方案似乎是反模式 我有controller js内部生成的assets javascripts 我在用着gem jquery turbolinks 我的代码类似于以下内容 docu
  • Rails Capistrano 3 - 如何将 production.log 文件共享到 Capistrano 的共享文件夹中?

    我正在使用 Capistrano 3 与我的 Rails 应用程序一起部署 问题是 每次我将应用程序部署到服务器时 log development log 文件都会重置 我听说可以将 production log 文件放入共享文件夹中并在每
  • Rails 3.1+ 的 Jasmine 与 Mocha JavaScript 测试 [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对茉莉花有经验并且非常喜欢它 有谁有 Jasmine 和 Mocha 的经验 特别是 Rails 的经验吗 我想知道是否值得转用 我已经在 J
  • Rails 3.1 和图像资源

    我已将管理主题的所有图像放入名为 admin 的文件夹内的资产文件夹中 然后我像平常一样链接到它 Ruby image tag admin file jpg CSS logo background url assets images adm
  • Rails 4 的 mobile_fu

    我正在尝试将我的应用程序从 Rails 3 2 13 切换到 Rails 4 在此过程中 我遇到了一个主要障碍 我使用 gem mobile fu 来确定用户是否来自移动设备 该 gem 需要 Railties 3 2 13 但 Rails

随机推荐

  • Bash:如何将这两个 if 语句压缩为一个

    我是 Bash 和脚本新手 我想找到一种方法将这两个语句合并为 1 该脚本的作用是检查两个文件 D1 和 D2 是否是同一文件 如果不是 则检查它们的内容是否相同 if D1 ef D2 then echo not the same fil
  • 在 Electron 中操作 DOM

    在电子应用程序中操作 DOM 的最佳方法是什么 我使用 ipc 和 webcontents 从文档中制作了一些教程 但没有运气 我的应用程序非常简单 我只想像控制台一样使用网络并显示来自多个同步函数 主过程 结果的消息 渲染过程 我用真实的
  • 如何制作“查看密码”?

    我正在制作密码识别系统 我想做一个 查看密码 功能 可以切换隐藏到显示密码 我不知道如何实现这个功能 这是我的简短代码 from tkinter import root Tk Entry box to get password from u
  • UICollectionView - 滚动到第一个单元格

    我正在使用 UICollectionView 单击按钮后需要滚动到第一个单元格 该按钮位于我的集合视图中的 大 标题部分 单击它时 我需要滚动到位于该按钮下方的第一个单元格 我创建了此按钮的操作 但我不知道如何滚动到第一个 UICollec
  • Sql事务的并发处理

    假设我要使用 ASP NET 和 SQL Server 2005 启动一个项目 我必须设计该应用程序的并发要求 我计划在每个表中添加一个时间戳列 在更新表时 我将检查时间戳列是否与所选的相同 这种方法足够吗 或者这种方法在任何情况下都有缺点
  • 如何将数组转换为元组?

    我只想在 Swift 中将数组转换为元组 像下面这样 gt gt gt myArray 1 2 3 4 5 gt gt gt mytuple tuple myArray gt gt gt mytuple 1 2 3 4 5 最简单的方法是什
  • Mapstruct 没有更新生成的源文件中的 getter 和 setter

    我有一个具有属性的实体 我曾经这样写过 私人龙重症监护室 我正在使用地图结构 这是我针对所述实体的映射器 Mapper componentModel spring public interface ProtectionQueryMapper
  • 拖放CDK:在起始列表中继续显示拖动的元素

    我正在使用 cdk Drag and Drop 因为我需要它来创建工作 POC 我从这个开始code https stackblitz com angular nlpedgvrmbg file app 2Fcdk drag drop con
  • node.js、pg、postgresql 和插入查询(应用程序挂起)

    我有以下简单的节点应用程序用于将数据插入 postgres 数据库 var pg require pg var dbUrl tcp user psw localhost 5432 test db pg connect dbUrl funct
  • Spring Boot:托管版本为 1.3.2.RELEASE 该工件在 org.springframework.boot:spring-boot-dependency:1.3.2.RELEASE 中管理

    我使用 Spring boot 创建一个骨架应用程序 这是我的pom xml
  • Python 中的单元测试 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Python 是否有与标准 xUnit 风格的测试框架兼容的单元测试框架 如果有的话 它是什么 在哪里 有什么好处吗 Python 有几个
  • 出现类似 imap_open() 的错误:无法在服务器中打开流

    要获取 gmail 邮件 我使用下面的代码 它在本地工作正常 但我在服务器中遇到错误 例如 警告 imap open 无法打开第 10 行 C xampp htdocs riticoglive email real php 中的流 imap
  • WPF 4 DataGrid:将行号获取到 RowHeader 中

    我希望将行号放入 WPF 4 DataGrid 的 RowHeader 中 以便它有一个类似于 Excel 的列用于显示 DataGrid 的行号 我在网上看到的解决方案建议向业务对象添加索引字段 这并不是一个真正的选择 因为 DataGr
  • API 秘密是否应该进行哈希处理?

    这听起来可能是一个愚蠢的问题 因为密码当然需要进行哈希处理 并且永远不要存储原始密码 然而 对于 API 机密 通常我在注册时会看到它们以明文形式显示 例如 如果我转到 google api 控制台并查看我的凭据页面 我可以查看我的客户端密
  • 使用预处理器指令来定义美元符号所代表的内容是否会导致任何冲突?

    我可以使用以下内容吗C define cout int main lt lt Hello World n return 0 我想知道这是否会引起任何冲突 这并不绝对合法 但您的实现可以接受它 考虑 C 11 2 5 1 每个转换为标记 2
  • 为什么当元素的子元素的过渡结束时可以运行transitionend事件?

    我绑定了一个transitionend事件至div1 When div1的转换结束 事件开始 这里没有问题 我遇到一个特殊情况 我在此添加了 3 段div1 当每个段落的转换结束时 div1 s transitionend活动也跑了 所以t
  • Swift:在非默认参数之前使用默认参数的函数

    假设我有一个函数 在默认参数之后有非默认参数 如下所示 func f first Int 100 second Int 我如何调用它并使用第一个参数的默认值 当前的编译器确实允许参数列表中间存在默认参数 如果你想使用默认值 你可以这样调用该
  • 子 IIS 应用程序中的 RegisterClientScriptResource NullReferenceException

    我从 Net 4 5 Beta 升级到 RTM 版本 现在当我有一个标准 WebForm 页面 其中有一个通用 标记时 我得到一个 NullReferenceException 如下所示 NullReferenceException 未将对
  • Laravel,具有连接的全局范围

    我需要定义一个全局过滤器 以便仅获取表中所需的文件 问题是需要根据其他关系进行过滤 因为我需要在查询中进行联接 我的问题是 在定义全局范围后 关系具有连接中涉及的所有表的所有行 这会使代码崩溃 因为存在不明确的列 我如何只能在过滤后返回产品
  • RSpec 控制器测试 - 空白响应.body

    在使用 RSpec 测试我的控制器时 我遇到了一个问题 response body 调用总是返回一个空字符串 在浏览器中 一切都正确呈现 并且 Cucumber 功能测试似乎正确 但 RSpec 每次都会失败 对响应对象的其他期望 例如re