У меня есть этот Rails API, и я пытаюсь проверить два действия в моем контроллере. Первый должен назвать второй. Как я могу это сделать с помощью RSpec?Тестирование вызова метода с аргументами с использованием RSpec и Rails
Эти действия:
def method1
(...)
method2(@example_var)
end
def method2(id)
(...)
end
До сих пор я пытался это, но безуспешно
describe "#method1" do
it "calls the method2 with id" do
Rails::logger.info "Testing METHOD1"
var = Parent.create(FactoryGirl.attributes_for(:valid_attributes))
get :method1, :id => var.id
Parent.should_receive(:method2).with(var.id)
Parent.method2
end
end
Любая помощь?
EDIT: Если информации недостаточно, я с удовольствием предоставит больше.
1. Пожалуйста, включите больше контроллера. Является ли класс «Родитель»? 2. Я думаю, вам нужно будет установить ожидаемое (should_receive), прежде чем выполнять действие, которое вы ожидаете вызвать (вызов get: method1). 3. Почему вы вызываете метод2 явно? – Coenwulf
Я решил свою проблему тем временем, но так как я довольно новичок в Rails, я все испортил. Спасибо за ваш ответ. – skimisha