小编clj*_*clj的帖子

rspec 升级到 3.1.0 后,与 allowed_any_instance_of 一起使用的 and_call_original 不起作用

我在 rspec 2.14.1 中有一个代码,例如

allow_any_instance_of(AnyClass).to receive(:some_method).and_call_original
Run Code Online (Sandbox Code Playgroud)

以及相应的消息期望

expect_any_instance_of(AnyClass).to receive(:some_method)
Run Code Online (Sandbox Code Playgroud)

以上在 rspec 2.14.1 中运行良好。升级到rspec 3.1.0后,上述代码不再起作用。它失败了消息期望 some_method 甚至一次也没有被调用

但是如果我像这样改变存根

allow_any_instance_of(AnyClass).to receive(:some_method).and_return(value)
Run Code Online (Sandbox Code Playgroud)

它在 rspec 3.1.0 中工作正常。

我只是想了解为什么在 rspec 升级后将 and_call_original 与 allowed_any_instance_of 一起使用会失败。

我可以从这个链接看到仅支持and_call_original部分双打。

这是否意味着使用allow_any_instance_of不是部分双精度?

rspec ruby-on-rails

2
推荐指数
1
解决办法
9260
查看次数

标签 统计

rspec ×1

ruby-on-rails ×1