在rspec中存储一个类级别常量

时间:2015-04-17 14:49:46

标签: ruby-on-rails ruby rspec

我的课程结构如下:

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中测试它的不同值?

1 个答案:

答案 0 :(得分:7)

根据this doc,使用Rspec的2.11版本,这应该有效: stub_const("Abc::ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB", 5)