Я пытался сделать мой код немного меньше, создавая метод, который может выглядеть как must_receive от RSpec, в данном случае я тестирую конечный автомат, и у меня есть несколько методов с кодом, подобным этому:
context "State is unknown" do
before do
@obj = create_obj(:state => 'unknown')
end
context "Event add" do
it 'should transition to adding if not in DB' do
@obj.add
@obj.state.should == 'adding'
end
it 'should transition to linking if already in DB' do
create_obj_in_db
@obj.add
@obj.state.should == 'linking'
end
end
end
Я хочу заменить эти строки кода на что-то похожее на это:
@obj.should_receive(:add).and_transition_to('adding')
@obj.should_receive(:modify).and_transition_to('modifying')
Как создаются эти методы?