我通过创建一个扩展到库类的子类来扩展现有库。
在子类中,我能够测试initialize
方法中的大部分功能,但无法模拟super
调用。子类如下所示。
class Child < SomeLibrary
def initialize(arg)
validate_arg(arg)
do_something
super(arg)
end
def validate_arg(arg)
# do the validation
end
def do_something
@setup = true
end
end
如何编写 rspec 测试(使用 mocha)以便可以模拟super
呼叫?请注意,我正在测试类中initialize
方法的功能Child
。super
我是否必须创建在提供额外参数时不调用的单独代码路径?