我的课程结构如下:
class Abc
ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB = GloablAttributeValue.read_from_db
def some_method_that_use_above_constant
# this function behaves differently for different values of ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB
end
end
现在我想根据不同的值ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB对some_method_that_use_above_constant进行单元测试。
这是否可以将ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB的值存根,以便我可以在rspec
中测试它的不同值?
答案 0 :(得分:7)
根据this doc,使用Rspec的2.11版本,这应该有效:
stub_const("Abc::ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB", 5)