我在我的控制器中使用了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