【问题标题】:Stubbing a class level constant in rspec在 rspec 中存根类级别常量
【发布时间】:2015-04-17 14:49:45
【问题描述】:

我的班级结构如下:

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

【问题讨论】:

    标签: ruby-on-rails ruby rspec


    【解决方案1】:

    根据this doc,使用 2.11 版的 Rspec 这应该可以工作: stub_const("Abc::ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB", 5)

    【讨论】:

    • 谢谢,听起来很有希望让我试试,一旦测试我会更新。
    • 这就像魔术一样!谢谢你。我已将其标记为预期答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 2019-02-16
    • 1970-01-01
    • 2014-09-15
    • 2014-09-23
    • 1970-01-01
    相关资源
    最近更新 更多