7
votes

Mon test RSPEC ne passera pas: tutoriel des rails de Michael Hartl

Je suis à la fin du chapitre cinq faisant les exercices. Je suis censé tester que les liens vont aux pages correctes. Voici mon code de test.

Failures:

  1) LayoutLinks should have the right links on the layout
     Failure/Error: click_link "Sign up now!"
     Webrat::NotFoundError:
       Could not find link with text or title or id "Sign up now!"


4 commentaires

J'ai aussi essayé de définir: Content => "Inscrivez-vous maintenant!" Juste pour expérimenter, mais le problème semble trouver le lien sur la roticine_path et non à la réponse.


long coup, mais cela fonctionne-t-il si vous supprimez la marque d'exclamation. click_link "Inscrivez-vous maintenant"


Vient d'essayer ça. Cela me donne la même erreur. J'ai aussi essayé de prendre le! hors du lien.


FWIW, une des rares choses que je n'aime pas sur ce tutoriel est la dépendance des spécifications du contrôleur. Les histoires de concombre fonctionnent beaucoup mieux.


3 Réponses :


9
votes

Je crois que le problème est que "Inscrivez-vous maintenant!" Le lien n'est en fait pas sur toutes les pages et ce test navigue réellement les pages.

au moins dans la version de ce didacticiel que j'ai couru il y a quelque temps, ce lien n'était que sur la page d'accueil.

Si vous ajoutez un visitez root_path juste avant ce dernier click_link Ça fonctionnera probablement.

Un meilleur test aurait celui d'un test indépendant associé spécifiquement à la page d'accueil.


2 commentaires

impressionnant! Je suis allé de l'avant et j'ai fait un test indépendant. Je ne me suis pas réalisé que c'était testé pour toutes les pages. Je pensais que parce que j'ai mis Visitez root_path qu'il ne faisait que tester des liens exclusivement sur la page d'accueil.


J'ai été accroché ici aussi et vous avez fourni la réponse, @Donroby. Merci!



0
votes

En outre, le texte du titre est "Inscription" . Capitale 'U'.

La ligne doit être: xxx

Le conseil de la réponse antérieur à faire un visiter root_path est inutile si la page Visité juste avant que celui-ci soit "home"


1 commentaires

Juste pour clarifier la déclaration de Marc --- La fonction Click_Link en fait, vous savez, navigue vers cette page. RSPEC ne teste pas toutes les pages toutes les pages. Visiter au moment du moment. Si cela se trouve être "à la maison", comme le souligne Marc, le "Inscrivez-vous maintenant!" Le lien sera disponible.



0
votes

La raison pour laquelle le test ne fonctionnera pas est parce que vous devez exécuter:

$ rake db:test:prepare  


0 commentaires