搜索了津津有味的文档,但没有找到在RSpec中取消订阅的方法.

这可能吗?

推荐答案

对于新的expect语法,unstub已被弃用.你可以做:

# stub
allow(SomeClass).to receive(:a_method)

# do something...

# unstub
allow(SomeClass).to receive(:a_method).and_call_original

如果前allow个包含.with或一个区块,我相信它仍然会传递到下一个调用,所以下一个allow不会清除这些内容.

Ruby相关问答推荐

Ruby迭代器与函数.返回函数的第一个值,而不交互整个列表

鲁比.METHOD_MISSING+SEND对于带有命名参数的混合参数失败

从同名方法调用 ruby​​ 中的方法

使用 Ruby,我如何访问和比较这些嵌套的数组值?

Ruby:一个方法可以返回不同类型的对象吗?

如何在 Ruby 中验证来自多项 Select 提示的命令行输入?

将数组转换为哈希,其中键是索引

如何从 url 获取文件扩展名?

Ruby 中的 Monad 类似功能

有没有办法通过哈希初始化对象?

我如何 expect期望在 RSpec 中引发异常的东西?

如何在 Ruby 中使用 (n) 诅咒?

用 Ruby 解析 XML

野外的好黄瓜例子?

使用 Ruby CSV 在导出的 CSV 中更改字段分隔符/分隔符

为什么 Ruby 文档中的方法前面有一个井号?

如何在 macOS 上卸载 rbenv?

Ruby 中的 each 和 collect 方法有什么不同

如何重命名 gemset?

Ruby Activerecord IN 子句