Я пытаюсь проверить метод, что произойдет, если последовательность входящих аргументов неверна. Я уже проверил параметр nil. мой метод принимает id, new_name, и я хочу знать, что делать, когда параметры new_name, idПроверка последовательности аргументов метода Ruby + Rspec
Надеюсь, мой вопрос ясен.
Метод, который я хочу, чтобы тест:
def update_recipe(id, new_name)
raise ArgumentError if id.nil? || new_name.nil?
recipe = find_recipe_by_id(id).dup
recipe.name = new_name
@storage[id] = recipe
recipe.freeze
end
Вот RSpec код:
context 'when argument sequence is not correct' do
let(:added_recipe) { subject.add_recipe recipe }
it 'raises an ArgumentError' do
expect { subject.update_recipe 'Pasta', added_recipe.id }.to raise_error ArgumentError
end
end
Если вы беспокоитесь об этом, используйте ключевые аргументы: https://robots.thoughtbot.com/ruby-2-keyword-arguments –
параметры Hash Вот что я точно нужно большое спасибо! – mk3