Tôi có một spec cho thử nghiệm một bộ điều khiển như sautài khoản đăng nhập trong khi thử nghiệm với rspec và authlogic
require 'spec_helper'
describe ProductsController do
setup :activate_authlogic
describe "user not logged in" do
it "should not GET index" do
get :index
response.should redirect_to(login_path)
end
end
describe "user logged in" do
before(:each) do
UserSession.create :username => "rohit", :password => "test123"
end
it "should GET index" do
get :index
response.should redirect_to(products_path)
end
end
end
Tôi cũng đã sử dụng dòng này trong spec_helper.rb
require "authlogic/testcase"
Bài kiểm tra cho "người dùng không đăng nhập được "nhưng đối với" người dùng đã đăng nhập "không thành công với
'ProductsController user is logged in should GET index' FAILED
expected redirect to "/products", got no redirect
lý do tại sao tôi không nhận được chuyển hướng trong ví dụ "người dùng đăng nhập", ít nhất nó sẽ được chuyển hướng đến một nơi nào đó. Tôi thậm chí đã cố gắng sử dụng redirect_to (login_path) thay vì redirect_to (products_path) vẫn còn tôi đã nhận được lỗi tương tự. Tại sao vậy? – Rohit
bởi vì bạn chỉ hỏi trang '/ sản phẩm' nếu không có chuyển hướng_để một cái gì đó khác trong bộ điều khiển này thì điều đó là bình thường. Đặt bộ điều khiển sản xuất của bạn nếu bạn muốn biết thêm thông tin – shingara
vì vậy, về cơ bản bạn đang nói gì. Tôi có nên loại bỏ các redirect_to dòng từ spec – Rohit