Я попытался найти Google для точного решения моей проблемы, но не нашел подходящего результата, поэтому я прошу об этом решении.
Вот Важная информация
Рубин Версия для: рубина 2.2.4p230 (2015-12-16 ревизия 53155) [x86_64-darwin15]
Rails версии: Rails 4.2. 0
Rspec Версия: 3.5.4
I «Ве контроллера, который имеет действие под названием clearCart
, который в основном функционирует для очистки cart session
Вот мое действиеredirect_to: action =>: index in Rspec
def clearCart
session[:cart] = nil
redirect_to :action => :index
end
Основной целью для вышеуказанного действия, чтобы проверить redirect_to :action => :index
.
Маршруты для того же действия (если необходимо)
get 'cart/clear' => 'cart#clearCart'
Вот Rspec тест, чтобы проверить то же самое действие
describe "GET #clearCart" do
it "should clear cart" do
get :clearCart
subject { get :clearCart }
subject.should redirect_to :action => :index
# expect(response).to redirect_to(:index)
# response.should redirect_to :index
# before { post :clearCart }
# render 'index'
# specify { response.should redirect_to('frontend/cart/index') }
end
end
(комментарии возможное способ, которым я пытался выполнить тест)
Вот мой индекс действия (при необходимости)
def index
render 'frontend/cart/index' ,layout: false
end
Я обычно относятся RELISH для руководства.
Заранее благодарим за помощь.
Это не имеет ничего общего с самим вопросом, но я бы предложил использовать snake_case для метода имя и переименуйте его в clear_cart (https://github.com/bbatsov/ruby-style-guide#snake-case-symbols-methods-vars) – lightalloy
@lightalloy ваше предложение будет оценено. Спасибо :) –