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 的相关文章

随机推荐

  • 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