J'ai un test qui échoue bien que l'opération fonctionne réellement lorsque je le teste dans le navigateur. Quelque chose ne va pas avec mon test, ressemble à. J'utilise Shoulda et les luminaires.Le code fonctionne mais le test échoue
require 'test_helper'
class AddressesControllerTest < ActionController::TestCase
context 'on PUT to :update' do
setup do
put(:update, {
:id => addresses(:mary_publics_address).id,
:street1 => '123 Now St.'
}, { :user_id => users(:stan).id})
end
should 'update the Address' do
a = Address.find(addresses(:mary_publics_address).id)
assert(a.street1 == '123 Now St.', 'Attribute did not get updated.')
end
end
end
Échec avec "L'attribut n'a pas été mis à jour".
Voici le code du contrôleur en cours de test:
class AddressesController < ApplicationController
def update
@address = Address.find(params[:id])
@address.update_attributes!(params[:address])
render(:text => "Address with ID #{params[:id]} updated")
end
end
"Le code fonctionne mais le test échoue". C'est exactement ma première pensée quand l'équipe de test appelle: P – nik
avec quoi a.street1 revient-il? – Steven
Juste pour clarifier mon dernier commentaire; Je me demande ce qu'apporte a.street1, pas seulement ce que l'hypothèse est. Comme quelqu'un qui teste, l'impression de la valeur attendue et la valeur réelle d'un test peut être très perspicace. – Steven