コントローラにstrong_parameters
の宝石を使用していますが、テストする方法がわかりません。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で統合されたコードが適切に動作しているかどうかをテストすることもできます。私は、ユーザーの役割や権限に応じて書き込み可能/書き込み不可能なフィールドを持っているので、これら2つのコンポーネントが適切に統合されていることをテストする必要があります。 – cpuguy83
Rails 1.1から3.2へのアプリケーションを(そして現在4.0を準備して)、Railsのテストが非常に必要であることを保証します。あるバージョンのRailsでうまく動作したものが、別のバージョンの動作を変更する可能性があります。例えば、私は 'clone'メソッドを使ってactiverecordレコードを複製していましたが、3.0と3.2の間のどこかで、' dup'が代わりにその機能を提供すると決めました。これはあまり宣伝されていませんでしたが、すぐに私のテストで捕まえられました。 – sockmonk