存根 (...) 收到意外消息 (...)(无参数)

2024-01-06

我尝试使用 RR 编写测试。我需要的是模型对象的存根。

describe ApplicationController do

  subject(:application_controller)     { ApplicationController.new }
  let(:messages)                       { ['a1', 'a2', 'a3' ] }
  let(:model)                          { Object.new }

  it 'should copy errors to flash' do
    stub(model).error_messages { messages }
    flash[:error] == nil
    subject.copy_errors_to_flash(model)
    flash[:error].should == messages
  end

end

我得到的是

ApplicationController should copy errors to flash
     Failure/Error: stub(model).error_messages { messages }
       Stub #<Object:0x007ffaa803f930> received unexpected message :error_messages with (no args)
     # ./spec/controllers/application_controller_spec.rb:10:in `block (2 levels) in <top (required)>'

我不知道我做错了什么。我想我遵循文档...


您在此行的模型存根上调用方法“error_messages”:

stub(model).error_messages { messages }

我认为您实际上想在这里做其他事情,最有可能的是:

model.should_receive(:error_messages).and_return(messages)

它为 error_messages 创建一个存根方法,并在您的规范测试调用 model.error_messages 时使用您的消息数组进行响应

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

存根 (...) 收到意外消息 (...)(无参数) 的相关文章

  • 如何通过 mat-dialog-close 或其他方式对 MatDialog 是否关闭进行单元测试

    我有一个简单的组件 它将显示为对话框窗口垫对话框 https material angular io components dialog overview 在该组件的模板中 一个按钮标记为垫子对话框关闭 https material ang
  • 解析包含 json 字符串的 json

    我有一个 json 里面有另一个 json 但它在双引号内 因此它给了我一个解析错误 除了使用之外还有什么方法可以解析这个jsongsub替换双引号 obj Name FirstName Douglas LastName Crockford
  • 使用 OCMock 以代码块作为参数的存根方法

    有没有一种方法可以存根方法 以块作为参数 例如方法 void reverseGeocodeLocation CLLocation location completionHandler CLGeocodeCompletionHandler c
  • 安装了 Rails 但它说我没有:)

    我刚刚执行了这个命令来安装 Rails gem install rails 它似乎运行良好并安装了东西 然后当我按照本教程进行操作时 http guides rubyonrails org getting started html http
  • 直接或通过包含定义嵌套类

    假设我正在为我的家庭存储系统建模 我有很多不同类型的Container 而且我发现其中很多都有装饰品 因此我为这种常见情况设置了一些辅助代码 我的容器中有我的Mantlepiece and my Bookcase 我只在前者上存放装饰品 而
  • 为 .API 文件启用自动完成功能?

    有谁知道如何使用 N 站点上提供的 API 文件在 Notepad 中自动完成工作 在 API 文件夹中具有 XML 自动完成文件的语言中 自动完成功能工作得很好 但对于使用 API 文件的语言 ruby AutoIt 等 完全不起作用 根
  • 如何找到 Ruby 应用程序中的性能瓶颈?

    我编写了一个 Ruby 应用程序 它可以解析来自不同格式 html xml 和 csv 文件的源的大量数据 如何找出代码的哪些区域花费时间最长 有没有关于如何提高 Ruby 应用程序性能的好资源 或者您是否有始终遵循的性能编码标准 例如 您
  • sinatra 应用程序在运行时无法启动

    我使用的是 Ubuntu 10 10 Ruby 1 9 2 无论我做什么 我都无法在本地计算机上启动 sinatra 应用程序 你好 rb require sinatra get do Hello World end ruby hello
  • 如何将 STDOUT 捕获到字符串?

    puts hi puts bye 我想存储到目前为止代码的 STDOUT 在本例中 hi nbye 到变量中说 结果 并打印它 puts result 我这样做的原因是我已将 R 代码集成到我的 Ruby 代码中 当 R 代码运行时 其输出
  • 不将所需的文件包含到 vim 全方位补全中

    如果我尝试在具有 require xxx 语句的 Ruby 文件中自动完成 它会开始扫描所需的所有文件 以及所需文件所需的文件 它每次都会这样做 是否可以使 vim 自动完成功能不扫描所需文件或仅扫描特定路径中的文件 例如仅 app 以下之
  • Boost 测试与 Google 测试框架

    我是单元测试世界的新手 基本上我是 C 开发人员 在一个大型产品上工作了近 3 年 现在我决定对我的代码执行自动化单元测试 为此 我在互联网上做了很多研究 遇到了很多工具和框架 最终选择了以下两个 1 Boost测试库 2 Google C
  • 迭代比线性代码慢吗?哪一个更可取?

    最近几天我脑子里一直有一个问题 在用 ruby 编写代码时 线性代码是否比迭代更快 更好 让我举个例子 有一个用于相同功能的代码块以两种不同的方式编写 Way 1 dog cat tiger each do pet name puts I
  • Python unittest - 使用列表断言字典

    在为我的班级编写一些测试时 我遇到了有趣的简单问题 我想断言两个字典包含一些列表 但是这个列表可能不会以相同的方式排序 gt 这会导致测试失败 Example def test myobject export into dictionary
  • 日期时间到 NSDate

    如何转换字符串2010 11 19T20 00 00Z进入一个NSDate object 我尝试过使用 dateFormatter setDateFormat yyyy MM ddTHH mm ssZ 但看起来我的自定义格式样式错误 PS
  • Rails 3:用户创建自定义表单?

    我正在尝试思考如何允许用户创建具有所有字段类型的自定义表单 如果有一颗宝石那就太好了 但我似乎无法在任何地方找到它 所以我有一个像这样的数据库设置 t integer form id t string name t string hint
  • 在 RSpec 测试期间抑制控制台输出

    我正在测试在控制台上放置一些消息的类 包含 put p 警告等 我只是想知道在 RSpec 测试期间是否有能力抑制此输出 我压抑puts通过重定向在我的类中输出 stout到一个文本文件 这样 如果我出于任何原因需要查看输出 它就在那里 但
  • ActiveRecord 查询,按关联排序,最后一个 has_many

    我试图列出所有Users by the created at最近创建的关联记录 通讯 列 到目前为止我所拥有的 User includes communications order communications created at IS
  • 如何在保存父对象时确保子对象有效?

    假设我有两堂课 class User attr accessible name has one address validates name presence gt true validates associated address end
  • 在Ruby中从csv文件中获取第二行[重复]

    这个问题在这里已经有答案了 actual row File open file name 0 r first row data CSV foreach actual row do row first row data lt lt row 1
  • 如何使用JMeter对网站进行负载测试

    我想在 JMeter 中创建一个脚本来模拟100 位用户在 3 4 分钟内访问我们的网站 我们需要测试我们的应用程序是否可以允许 25 000 个用户 天 即每小时 1 100 个用户 为此我做了这个 Jmeter 测试 这是结果 这是图表

随机推荐

  • 如何在 python 中制作网格?

    这是我的代码 width int input How wide height int input How high grid row bak for i in range width row append bak for i in rang
  • 使用 asp.net 身份在身份服务器 4 中实现角色

    我正在开发一个 asp net MVC 应用程序 使用身份服务器 4 作为令牌服务 我也有一个 api 其中有一些安全资源 我想为 api 实现角色 授权 我想确保只有具有有效角色的授权资源才能访问 api 端点 否则会收到 401 未经授
  • Hive 面试问题中的分区

    1 如果分区列没有数据 那么当你查询它时 你会得到什么错误 2 如果某些行没有分区列 这些行将如何处理 会不会有数据丢失 3 为什么需要对数字列进行分桶 我们也可以使用字符串列吗 流程是什么 您将根据什么选择分桶塔 4 内表详细信息也会存储
  • 如何在通知视图中制作将内容视图向下推的幻灯片动画

    我在屏幕上有两个视图 一个位于屏幕顶部 一个位于屏幕正下方 我需要绿色视图滑出顶部 并使蓝色视图占据整个屏幕 这就是我想做的 问题是 当动画完成时 蓝色视图只是 跳 起来 我希望它随着绿色视图的消失而减轻 我该怎么做 Slide in an
  • 单元测试 - 我应该如何测试这种设计?

    在我的应用程序中 我们的设计有 2 层 API 和操作 1 运营实现代码的 真实 逻辑 例如 验证用户身份 检索图书信息 通知用户他的图书已被查看 相同的操作可能被许多 API 使用 2 APIs由用户执行 接收参数 然后根据API的逻辑执
  • 服务器 500:太多待处理的安全对话

    我有一个相当简单的 WCF Web 服务 使用 Net 3 5 托管在 IIS Express 最终成为完整的 IIS 中 服务方式还蛮有趣的 ServiceContract public class MySvc OperationCont
  • 错误:org.openqa.selenium.ScriptTimeoutException:脚本超时

    我正在使用 selenium webdriver 和 Java 7 10 次我的脚本因错误而失败 org openqa selenium ScriptTimeoutException 脚本超时 我尝试了很多选择 增加等待时间 尝试了方法 j
  • 类型转换的通用方法

    我正在尝试编写通用方法来转换类型 我想写一些类似的东西Cast To
  • Actor 模型:为什么 Erlang/OTP 很特别?你能用另一种语言吗?

    我一直在研究学习 Erlang OTP 因此 一直在阅读 好吧 略读 有关 Actor 模型的内容 据我了解 参与者模型只是一组函数 在 Erlang OTP 中称为 进程 的轻量级线程中运行 它们仅通过消息传递 在 C 或任何其他语言中实
  • NVD3.js multiChart x 轴标签与线对齐,但不与条形对齐

    我正在使用 NVD3 jsmultiChart在图表中显示多条线和条形图 一切工作正常 但 x 轴标签仅与线点对齐 而不与条形对齐 我想正确地将标签直接对齐在条形下方 但我明白了 我用红线标记了标签应该在的位置 I made jsFiddl
  • 如何构造 Typescript 库代码以生成可由 Typescript 应用程序使用的 d.ts 文件?

    我正在构建一个 Typescript 库 捆绑到单个 js 文件中 和一个使用该库捆绑的 js 文件和 d ts 文件的 Typescript 客户端应用程序 我想使用 TS 模块而不是 TS 命名空间 除非这些目标使这不可能 在库的代码中
  • javascript - document.write 错误?

    考虑剧本 Some body content 这工作正常 单词 TEST 被添加到 但当 使用 则正文内容将完全替换为单词 TEST 即删除旧的正文内容 仅添加单词 TEST 仅当以下情况时才会发
  • 您更喜欢哪个接口:T[]、IEnumerable、IList 还是其他?

    好吧 我希望整个社区能够帮助我们解决已经持续了一段时间的工作场所辩论 这与定义接受或返回某种类型列表的接口有关 有几种方法可以做到这一点 public interface Foo Bar Bars get IEnumerable
  • 如何一次安装多个红宝石宝石?

    是否可以仅使用一个命令同时安装多个 gem The gem install命令接受许多参数 因此您可以gem install nokogiri bundler例如 一次拍摄 正如其他人所说 Bundler http gembundler c
  • python scipy stats 帕累托拟合:它是如何工作的

    帮助和在线文档说函数 scipy stats pareto fit 将要拟合的数据集作为变量 以及可选的 b 指数 loc scale 结果以三元组形式出现 指数 loc 标度 从相同的分布生成数据应该导致拟合找到用于生成数据的参数 例如
  • Ra-在 Grails 应用程序中对更改后的用户进行身份验证

    我想立即在我的 Grails 应用程序中传播用户更改 用户角色的更改 我正在使用 Spring Security 插件 我发现了这个 springSecurityService reauthenticate userName 但这适用于当前
  • 在 dll 接口中使用共享指针

    我的 dll 中有一个抽象类 class IBase protected virtual IBase 0 public virtual void f 0 我想要得到IBase在我的 exe 文件中加载 dll 第一种方法是创建以下函数 IB
  • Linux驱动程序DMA传输到PC作为主机的PCIe卡

    我正在开发一个 DMA 例程 将数据从 PC 传输到 PCIe 卡上的 FPGA 我阅读了 DMA API txt 和 LDD3 ch 15 详细信息 但是 我不知道如何从 PC 到 PCIe 卡上的一致 iomem 块进行 DMA 传输
  • 如何验收测试受验证码保护的 Web 应用程序功能?

    我想将验证码 例如 reCaptcha 添加到我网站上的某些功能 我该如何调整我的验收测试 是在临时站点上禁用验证码的唯一解决方案吗 澄清 当然 我并不是说用暴力破解我自己的验证码 而是例如一些选项可以从我的测试知道的服务器端将状态注入到验
  • 存根 (...) 收到意外消息 (...)(无参数)

    我尝试使用 RR 编写测试 我需要的是模型对象的存根 describe ApplicationController do subject application controller ApplicationController new le