Cucumber/Webrat fonctionnement du "should see ... wihtin"

Bonjour,

Toujours dans mes tests et mon apprentissage de ruby.
Sur ma page j’ai une série de libellés chacun étant entouré de balise
h5. Je souhaite tester leur présence en faisant:
I should see “libellé1” within “h5”
I should see “libellé2” within “h5”

Le premier passe correctement mais le deuxième n’est pas trouvé (je
précise que les 2 sont biens affichés et je les vois avec cucumber
quand je force une erreur).
Tout se passe comme si les tests s’arrêtaient dès la première balise
h5 rencontrée.

Comment puis je faire ce test?

Question subsidiaire ces balises h5 sont à l’intérieur d’un div qui
se trouve à un niveau n+c des balises

....
libellé2
libellé2
Est ce que je peux tester les h5 qui sont dans la div divx

Merci
Nicolas

Tranquiliste a écrit :

quand je force une erreur).

libellé2

libellé2
Est ce que je peux tester les h5 qui sont dans la div divx

Question subsidiaire, quel framework ?


Cyril M.
http://blog.shingara.fr/

Désolé
Ruby on Rails et Rspec

Nicolas

Tranquiliste a écrit :

Bonjour,

Toujours dans mes tests et mon apprentissage de ruby.
Sur ma page j’ai une série de libellés chacun étant entouré de balise
h5. Je souhaite tester leur présence en faisant:
I should see “libellé1” within “h5”
I should see “libellé2” within “h5”

C’est pas de base dans Rspec. Ça correspond à quel code ?


Cyril M.
http://blog.shingara.fr/

c’est du webrat

Oui, enfait les matchers fournis lors de l’installation de
cucumber/webrat
sont bien pratiques pour tester si une chaine de caractère est sur la
page.
Mais quand il s’agit de s’assurer du scope et des éléments d’une page,
il
vaut mieux ecrire son propre matcher. et utiliser xpath ou pas …

Par contre la ou j’ai beaucoup peiné ces derniers temps , c’est dans la
manière de tester une application internationalisée.

Je n’ai pas trouvé de solution idéale pour l’instant. Au début j’ai
écrit
mes tests avec les clefs que je passait dans un petit I18n.t / I18n.l
dans
le matcher, ca fonctionnait plutot bien et je pouvais tester toutes mes
locales , mais ca devenais très vite compliqué sur les champs date donc
j’ai
abandonné (un peu trop vite , j’admet ) pour ne me concentrer que sur la
version en.
(Disons que c’est une solution de facilité , il faut admettre que les
outils
sont principalement fait pour ce contexte).

Donc je profite ce thread pour vous demander quelles sont vos astuces
pour
les applications internationalisées.

Le 4 novembre 2009 22:23, Tranquiliste [email protected]
a
écrit :

RTFM

J’ai le bouquin “rspec book” (http://www.pragprog.com/titles/achbd/the-
rspec-book), j’ai lu la partie correspondant et j’ai trouvé ma
solution en écrivant un step particulier qui ressemble à ça

Then /^I should see “([^”])" within selector “([^”])"$/ do |text,
selector|
response.should have_selector(selector , :content => text )
end

Nicolas