我在我的控制器中使用了strong_parameters
gem,但我很難理解如何測試它。RSpec - 測試強大的參數
這是我想測試user_params
方法,以確保它是正確過濾掉惡意的鍵/值對我的設置
class UserController < ActionController::Base
include ActiveModel::ForbiddenAttributesProtection
def create
@user = User.new(user_params)
if @user.save
...
end
end
private
def user_params
params.require(:user).permit(:first_name, :last_name, :username, :email)
end
end
的例子,但無法弄清楚如何做到這一點。有沒有其他人通過這個?
我們的測試的政策是明確寫入測試所有的功能,讓我們有可能切換寶石/稍後再滾動我們自己,並且仍然知道系統正在工作。 – Bryce
您也可以測試與strong_parameters集成的代碼是否正常工作。我有根據用戶角色/權限可寫/不可寫的字段,所以我需要測試這兩個部分是否正確集成。 – cpuguy83
從Rails 1.1到3.2(現在準備4.0)的應用程序,我可以向你保證,測試Rails是非常必要的。在一個版本的Rails中單向工作的東西可能會改變另一個版本的行爲。例如,我曾經使用clone方法克隆activerecord記錄,但是在3.0到3.2之間,他們認爲'dup'會提供該功能,而不是稍微不同。這個廣告並不是很好,但很快就被我的測試所吸引。 – sockmonk