要么这不存在,要么我以错误的方式看待这个。
在rspec
中,我想存根一个类的所有实例的方法/属性,但仅当该实例遵循某个条件时才会存在,例如:
以下代码将存储具有给定注释的所有帖子:
Post.any_instance.stub(:comments).and_return([comment1, comment2])
但我只想在帖子为published
时存根评论,否则我想要一个空白的comments
数组。
我有什么方法可以做这样的事情:
Post.any_instance.stub(:comments) do |post|
post.published ? [comment1,comment2] : []
end
我见过你向stubbed方法发送一个参数的解决方案,根据参数值你可以返回不同的值,但这不是这里的情况。
答案 0 :(得分:0)