1
我有一個使用Rspec的作爲測試套件的私人Rails應用程序,我想,以確保沒有路由的都可以訪問無需登錄。測試是Rails應用程序無法訪問而無需登錄
有沒有一種辦法循環遍歷所有路由並嘗試使用Rspec的請求部分訪問它們,並確保它們返回401狀態?
我有一個使用Rspec的作爲測試套件的私人Rails應用程序,我想,以確保沒有路由的都可以訪問無需登錄。測試是Rails應用程序無法訪問而無需登錄
有沒有一種辦法循環遍歷所有路由並嘗試使用Rspec的請求部分訪問它們,並確保它們返回401狀態?
獲取所有路線和循環通過它們來測試
all_routes = Rails.application.routes.routes.to_a
犯錯,爲什麼呢?假設您網站中的每條路線都使用'ApplicationController'中定義的'before_filter'來請求授權,所以選擇任何路線並對其進行測試。您不需要爲每條路線測試相同的代碼位,這是非常適得其反的。 – meagar
是的,有多種設計模型,目前它們被用於半授權,而不是僅僅進行認證,所以之前的過濾器對於不同的控制器是不同的。這不是最好的做法,但我正在等待機會實現專家。 – hamstar