0
我已經在我的控制器下面的方法:Rspec的測試失敗在類似情況下
def create
@user = User.new(params[:user])
if @user.save
redirect_to log_in_path, notice: 'Signed up!'
else
render "new"
end
end
def destroy
@user = User.find(params[:id])
@user.destroy
redirect_to users_path, notice: 'User was deleted.'
end
和規格:
describe "POST 'create'" do
it "should allow create user" do
@user = Factory(:user)
post 'create', :id => @user
response.should be_success
end
describe "DELETE 'destroy'" do
it "should delete the user" do
@user = Factory(:user)
delete "destroy", :id => @user
response.should redirect_to users_path
end
end
我不明白爲什麼測試創建方法是通過即使在保存對象後立即有重定向。如果我設置:
response.should redirect_to log_in_path
爲期望的測試將失敗,同樣爲破壞方法,如果切換到期望:
response.should be_success
它將失敗。有什麼建議麼? 謝謝