2014-02-02 2 views
0

Я хотел бы проверить простой конструктор:экземпляр Testing присвоение переменной в конструкторе (RSpec)

def initialize(parameters_hash) 
    @parameters_hash = parameters_hash 
end 

Как вы думаете, что подход:

describe '.new' do 
    let(:parameters_hash) { {} } 
    it 'assigns input to @parameters_hash instance variable' do 
    expect(subject.instance_variable_get('@parameters_hash')).to eq(parameters_hash) 
    end 
end 

является правильным. Возможно, вы знаете некоторые другие решения.

ответ

0

Rspec уже реализует вспомогательный assigns помощник see here для контроллера, который выполняет именно то, что вам нужно.

Если вам нужно что-то подобное для модели, рассмотреть возможность использования attr_reader, и проверить, что

expect(subject.parameters_hash).to eq({})

Смежные вопросы