J'écris actuellement des tests fonctionnels pour mon contrôleur, et je veux vérifier si une ligne
Ceci est une ligne de test p>
apparaît sur ma page. p>
J'ai essayé d'utiliser p> mais je pense que quelque chose est mal avec cette ligne. p> Quelle est la meilleure façon de le faire dans les rails version 3? p> p>
3 Réponses :
Je pense que vous recherchez: voir le docs pour plus d'informations sur Notez que la ligne ci-dessus dépend du texte enveloppé dans un < code> code> étiquette et être une correspondance littérale. Si c'est dans une autre balise, vous devrez spécifier le sélecteur correct. Si vous souhaitez faire correspondre une regex, cela est également pris en charge, via: p> Notez que cela ne sera pas très performant, car il sera analysé par Tous em> code> dans votre document. Considérons un sélecteur plus étroitement spécifié, comme une classe ou une pièce d'identité sur l'élément que vous ciblez. P> p> assert_select code>. p>
Je pense que mon problème est que ce problème est à l'intérieur d'un tas de divs, par exemple
Ceci est une ligne de test p> div> div> div> div> div> . Cela signifie-t-il que je dois spécifier que dans la balise? Comme div.div.div.p?
J'ai donc trouvé la réponse, j'ai ajouté une classe au p et à ASSERT_SELECT. P.Class puis "String" a travaillé comme un charme.
sans spécifier une étiquette:
Ceci fonctionne avec des rails 6: doc: https://www.rubydoc.info/github/jnicklas/capybara/capybara/node/matchers p> (J'avais Paramètres inutilisés transmis à capybara :: Queries :: Sélecteur Code>) P> P>
Veuillez ne pas continuer à mettre à jour le code dans votre question - il fait que le format Q & A tombe en morceaux.