Zeroing a class level constant in rspec

My class is structured like this:

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

Now I want to unit test some_method_that_use_above_constant based on different values ​​of ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB. Is it possible to exclude the ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB value so that I can test it for different values ​​in rspec?

+4
source share
1 answer

According to this document , with version 2.11 of Rspec this should work: stub_const("Abc::ONE_CLASS_LEVEL_CONSTANT_BEING_READ_FROM_DB", 5)

+7
source

All Articles