如何在我的项目中模拟自写模块的模块功能?
给定模块和功能
module ModuleA::ModuleB
def self.my_function( arg )
end
end
这就是所谓的
ModuleA::ModuleB::my_function( with_args )
当它在我正在为其编写规范的函数中使用时,我应该如何模拟它?
将它加倍 ( obj = double("ModuleA::ModuleB")
) 对我来说毫无意义,因为该函数是在模块上调用的,而不是在对象上调用的。
我试过把它存根(ModuleA::ModuleB.stub(:my_function).with(arg).and_return(something)
)。显然,它没有用。stub
没有在那里定义。
然后我用should_receive
. 再次NoMethodError
。
模拟模块及其功能的首选方式是什么?