2009-08-04 7 views
0

Voici mon code de test fonctionneldoute dans les tests fonctionnels

def test_should_create_county

assert_difference('County.count') do 
    post :create, :county => {:name=>"myname",:description=>"mydesc",:region_id=>"3" } 
end 
assert_redirected_to county_path(assigns(:county)) 

fin

fin

Et message d'erreur je suis arrivé est

29) Défaut: test_should_create_county (CountiesCon trollerTest) [/test/functional/counties_controller_test.rb:16]: "County.count" n'a pas été modifié par 1. < 3> attendu mais était < 2>.

S'il vous plaît aider

- Karthik.k Mobile - + 91-9894991640

+2

vous devriez savoir comment utiliser le formatage de code StackOverflow. – Indy9000

Répondre

0

Il ressemble à l'objet Pays n'est pas en cours de création dans l'action create. Il n'y a pas assez présenté pour déterminer la raison, mais voici quelques cas courants (dans l'ordre du plus commun).

    validation
  • échoue sur le modèle de pays
  • l'authentification ou l'autorisation est déclenchée
  • une autre redirection par un avant filtre (par https ou le nom de domaine changement)

Jetez un oeil à votre les validations sur le modèle Country, est-ce que l'option: country donnée dans le test fait un modèle valide? Sinon, je recommande using factories pour générer des attributs de modèle valides.

Si la validation n'est pas le problème, jetez un coup d'œil au contrôleur avant les filtres pour vous assurer qu'il n'y a pas de redirection.

Vous pouvez déplacer le assert_redirect dans le bloc assert_difference, ce qui peut donner une erreur plus descriptive.

Questions connexes