gpt4 book ai didi

ruby-on-rails - 是否可以在父类中 stub 一个方法,以便所有子类实例都在 rspec 中 stub ?

转载 作者:数据小太阳 更新时间:2023-10-29 06:58:55 24 4
gpt4 key购买 nike

给定父类 Fruit 及其子类 AppleBanana ,是否可以将方法 foo stub > 在 Fruit 中定义,以便在 AppleBanana 的任何实例上对方法 foo 的任何调用都被 stub ?

class Fruit
def foo
puts "some magic in Fruit"
end
end
class Banana < Fruit
...
end
class Apple < Fruit
...
end

Fruit.any_instance.stubs(:foo) 没有工作,看起来它只是 Fruit 实例的 stub 。除了为每个子类调用 stub 之外,是否有一种简单的方法可以实现这一点?

发现此链接提出了类似的问题,但看起来尚未得到解答。 http://groups.google.com/group/mocha-developer/browse_thread/thread/99981af7c86dad5e

最佳答案

这可能不是最干净的解决方案,但它有效:

Fruit.subclasses.each{|c| c.any_instance.stubs(:foo)}

关于ruby-on-rails - 是否可以在父类中 stub 一个方法,以便所有子类实例都在 rspec 中 stub ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7539280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com