Sto usando la gemma strong_parameters
nei miei controller, ma ho difficoltà a capire come testarlo.RSpec - Test dei parametri forti
Ecco un esempio di mio setup
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
Voglio testare il metodo user_params
per assicurarsi che sia correttamente filtrando coppie chiave/valore maligni, ma non riesce a capire come farlo. Qualcun altro ha attraversato questo?
La nostra politica di prova è quello di scrivere in modo esplicito i test per tutte le funzionalità, per permetterci di potenzialmente scambia le gemme/tira le nostre in seguito e sappi che il sistema funziona. – Bryce
Si può anche verificare che il codice che si integra con strong_parameters funzioni correttamente. Ho campi che sono scrivibili/non scrivibili a seconda dei ruoli/permessi dell'utente, quindi ho bisogno di verificare che questi due pezzi si integrino correttamente. – cpuguy83
Avendo preso un'app da Rails 1.1 a 3.2 (e ora sto preparando per 4.0), posso assicurarti che testare Rails è molto necessario. Qualcosa che ha funzionato in un modo in una versione di Rails può cambiare il comportamento in un'altra versione. Ad esempio, ho clonato i record di activerecord usando il metodo 'clone', ma da qualche parte tra 3.0 e 3.2 hanno deciso che' dup' avrebbe fornito quella funzionalità invece ... e lo avrebbe fatto in modo leggermente diverso. Questo non era ben pubblicizzato, ma è stato rapidamente catturato dai miei test. – sockmonk