Я хотел бы проверить проверку делается на атрибут следующего класса:Использование Shoulda matchers для attr_reader
class R
include ActiveModel::Validations
attr_reader :attribute
validates :attributes, presence: true
def initialize(attribute = {})
@attribute = attribute
end
end
Теперь мой тест, как это:
RSpec.describe R, type: :model do
context 'validations' do
subject { R.new(1) }
it { should validate_presence_of(:attribute) }
end
end
Но это приводит к ошибка:
NoMethodError:
undefined method `attributes=' for
Если я изменю attr_reader на attr_accessor, тогда тест пройдет.
Как я могу оставить attr_reader так, как он есть, и все еще пройти тест с помощью соединителя Shoulda?