Дан класс с несколькими переменными экземпляра и некоторыми методами. Некоторые переменные экземпляра доступны через attr_reader
и attr_accessor
. Таким образом, остальные являются приватными.
Некоторые из частных переменных экземпляра устанавливаются в одном из методов экземпляра и считываются/используются в другом методе.
Для тестирования я использую RSpec. Поскольку я все еще новичок в Ruby и хочу, чтобы все было правильно, я определил свои тесты как довольно тонкие. Таким образом, у меня есть один блок describe
для каждого метода экземпляра, которые сами разбиты на подмножество context
s и it
s. Общие предварительные условия среды определяются с помощью before
.
Однако при тестировании одного из методов, который использует, но не устанавливает одну из частных переменных, мне нужно вызвать другой метод, который устанавливает эту переменную. Для меня это кажется довольно обременительным и не модульным.
Есть ли способ принудительно установить частную переменную экземпляра в определенное значение. Аналогично "вырыванию" значения приватной переменной экземпляра с помощью Object::instance_eval(:var)
.