Size: a a a

2020 April 17

Э

Эдем in RubyRush
klass.const_set(const, value)
источник

Э

Эдем in RubyRush
По идее должно сработать
источник

Э

Эдем in RubyRush
Но можно по-другому как-то застабить, чтоб там где, нужно возвращался файл просто и всё
источник

m

moffire in RubyRush
Эдем
klass.const_set(const, value)
буду пробовать
источник

Э

Эдем in RubyRush
Но это колхоз
источник

Э

Эдем in RubyRush
Лучше, как выше написал, allow(something).to receive(:some_method).and_return your_file
источник

А

Александр in RubyRush
Никогда не встречался с необходимостью стабить константу в тестах...
источник

m

moffire in RubyRush
Александр
Никогда не встречался с необходимостью стабить константу в тестах...
да я только разбираюсь с тестами, потому мого знатные велосипеды изобретать
источник

DM

Dmitriy Tensei Malys... in RubyRush
можно VCR заюзать) чтобы записать ответ 1 раз от сайта
источник

DM

Dmitriy Tensei Malys... in RubyRush
и его юзать в тестах
источник

А

Александр in RubyRush
moffire
да я только разбираюсь с тестами, потому мого знатные велосипеды изобретать
Получилось через стаб (allow)как Эдем посоветовал?
источник

m

moffire in RubyRush
Александр
Получилось через стаб (allow)как Эдем посоветовал?
сходу не получилось. Сижу читаю stackoverflow
источник

VV

Vadim Venediktov in RubyRush
moffire
Прошу помочь с  RSpec - у меня в тестируемом классе определена константа, я хочу ее переопределить в тестах, но пока получилось только в каждом конкретном тесте указывать stub_const('MyClass::CONST’, ‘new_vlaue’).  Как мне переопределить константу для  всей группы тестов?
Код теста в студию
источник

VV

Vadim Venediktov in RubyRush
stub_const('MyClass::CONST', 'new_value')

Вынести это в before?
источник

А

Александр in RubyRush
Тут скорее в самом классе что-то странное спряталось:) Ну, я слышал такую мысль, что к константам нужно обращаться через методы. Тогда в вашем случае можно так:
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)
источник

VV

Vadim Venediktov in RubyRush
Ну и в очередной раз советую задаться вопросом: а что вы будете делать, если константа в классе (реальном) поменяется и, грубо говоря, из-за этого упадет реальный функционал, а тест (который юзает вашу подставленную константу), продолжит ходить? :)
источник

VV

Vadim Venediktov in RubyRush
Dmitriy Tensei Malyshev
можно VCR заюзать) чтобы записать ответ 1 раз от сайта
+ надо помнить раз в какое-то время протирать касеты :)
источник

VV

Vadim Venediktov in RubyRush
А то сервер давно упал, а у вас всё хорошо :)
источник

DM

Dmitriy Tensei Malys... in RubyRush
Vadim Venediktov
А то сервер давно упал, а у вас всё хорошо :)
сервер с которого записана касета)? ну это не наша вина 😂
источник

А

Александр in RubyRush
Vadim Venediktov
А то сервер давно упал, а у вас всё хорошо :)
Тут, мне кажется, должно быть разное поведение в unit и integration тесте, один и должен свалиться, а второй(со стабом) продолжить работать
источник