所以我的情况是:我有两个具有相同结构的模块:
module Module1
class Config
def fee_rate
2
end
end
end
因此,比如说,Module2 将具有带有方法 fee_rate 的类 Config,只是具有不同的值(这些实际上是在 rails 引擎中实现的,但这无关紧要)
然后我的模型可以使用 Module1 或 Module2 来获得这样的费率值:
def config
@config ||= "#{module_name.titleize}::Config".constantize.new
@config
end
def get_value
config.get_fee * some_other_value
end
我要测试的是是否在正确的类上调用了 get_fee 函数:
"#{model.module_name.titleize}::Config".constantize.any_instance.expects(:get_fee).at_least_once
model.get_value
当我调用 get_value 时,在线上出现以下错误 - nil:NilClass 的未定义方法“*”。我现在完全迷路了,所以我很感激任何帮助和想法。