class Foo
  def bar(a, b)
  ...

Foo.should_receive( :bar )

期望使用任何参数调用bar.

Foo.should_receive( :bar ).with( :baz, :qux )

期望:baz和:qux作为参数传入.

如何期望第一个参数等于:baz,而不关心其他参数?

推荐答案

使用anything匹配器:

Foo.should_receive(:bar).with(:baz, anything)

Ruby相关问答推荐

如何将包含换行符(和可能其他特殊字符)的Ruby字符串转义为有效的shell变量值?

这是按引用传递/值传递的误解,导致此方法无法按预期输出吗?

使用 Drive API 创建空文件

为什么 ruby​​ 在 Windows 上这么慢?

在 YAML 变量中包含 jekyll / liquid 模板数据?

检测安装的 CPU 数量

VCRProxy:在 Capybara 内使用 VCR 记录 PhantomJS ajax 调用

如何通过反射获取 Ruby 的 Module 类定义的常量?

加载 RubyGems 插件时出错,openssl.bundle (LoadError)

如何用 Ruby 覆盖 shell 中的打印行?

如何在Ruby中返回两个字符串之间的字符串的子字符串?

如何将 STDOUT 捕获到字符串?

在现有 Jekyll 安装中切换主题

rbenv、rvm 和 chruby 有什么区别?

如何修复错误的 URI 不是 URI

获取当前 ruby​​ 进程内存使用情况

Ruby 中的 to_s 与 to_str(以及 to_i/to_a/to_h 与 to_int/to_ary/to_hash)

Ruby:使用 ENV 变量(如果存在)的最简洁方法,否则使用默认值

如何使用器重新安装 gem

直接访问实例变量与使用访问器方法