Прошу помочь с RSpec - у меня в тестируемом классе определена константа, я хочу ее переопределить в тестах, но пока получилось только в каждом конкретном тесте указывать stub_const('MyClass::CONST’, ‘new_vlaue’). Как мне переопределить константу для всей группы тестов?
Тут скорее в самом классе что-то странное спряталось:) Ну, я слышал такую мысль, что к константам нужно обращаться через методы. Тогда в вашем случае можно так: class TestedClass def get_my_const MY_CONST end private MY_CONST = :something end
И в тесте, как Эдем написал allow(subject).to receive(:get_my_const).and_return(:anything_you_want)
Ну и в очередной раз советую задаться вопросом: а что вы будете делать, если константа в классе (реальном) поменяется и, грубо говоря, из-за этого упадет реальный функционал, а тест (который юзает вашу подставленную константу), продолжит ходить? :)