2010-07-13 3 views
0

Actuellement j'ai un comme/aversion fonctionnalité de vote qui émet dans le format suivant:Webrat/concombre matcher - Test match de contenu avec des liens

like (#) dislike (#)

Où aiment et ne aiment sont Je suis en train d'écrire un test de concombre pour vérifier si les comptes similaires/négatifs sont corrects. Je voudrais vérifier

... 
Then I should see "like (2) dislike (0)" 

Cependant, mon test de concombre n'est pas réussi. Quelqu'un a-t-il des conseils? La vue est ci-dessous:

<%= link_to "like", url_for(:action => 'like', :controller => 'comments', :id => c.id) %> 
(<%= c.comment_votes.nil? ? 0 : c.comment_votes.count(:conditions => {:score => 1}) %>) 
<%= link_to "dislike", url_for(:action => 'dislike', :controller => 'comments', :id => c.id) %> 
(<%= c.comment_votes.nil? ? 0 : c.comment_votes.count(:conditions => {:score => -1}) %>) 
+0

L'étape est-elle respectée si vous supprimez les liens? Vous devrez peut-être écrire un outil de correspondance personnalisé pour faire correspondre le texte et les liens. – jspooner

Répondre

0

j'avais plusieurs comme/aversions dans la même page, et mon test n'a pas été passer parce qu'il a besoin de vérifier le deuxième commentaire. La solution utilise des attributs de balise pour indiquer différents commentaires.

Par étiquetage commente

<tr id = "comment_1"> 
like (0) like (1) 
<tr id = "comment_2"> 
like (2) like (0) 
... 

Ensuite, je peux diriger test de concombre à la paire comme/aversion à l'article 2 par Je devrais voir « comme (2) ne pas aimer (0) » dans « # comment_2 »