2010-07-29 20 views
0

J'ai un contrôleur qui définit les variables @projects à afficher dans la vue.Rails Accès du concombre aux variables du contrôleur

Il y a un moyen d'accéder à ces projets dans l'étape du concombre? Notez que cette variable contient les résultats paginés, l'idée est de tester si les valeurs sont affichées dans la page.

J'ai essayé d'accéder à la variable via les affectations et le contrôleur, mais ils sont tous deux à zéro.

Merci.

Répondre

3

La façon dont vous manipulez généralement ceci est dans Concombre est en testant la sortie directement.

Alors:

  • Compte tenu des projets X
  • Lorsque je consulte la page projet N
  • Je devrais voir le projet A
  • Et je ne devrais pas voir le projet B

Vous ne devrait pas avoir besoin d'accéder aux variables du contrôleur à partir des fonctionnalités de Cucumber, car Cucumber est conçu pour émuler l'expérience de vos utilisateurs sur votre site et les utilisateurs pas d'accès direct aux contrôleurs non plus.

+0

Ok, donc je dois dire le nom (par exemple) des 5 projets qui devraient apparaître dans la page? Je pensais que cela pourrait être plus dynamique parce que les projets sont créés par une usine. – miguelfteixeira

+0

Vous pouvez le rendre un peu plus dynamique en recherchant les éléments de la page. Vous pouvez faire des tâches assez intelligentes en utilisant l'analyse html et regex ... "Donc, je peux voir 5 projets sur la page" pourrait correspondre à quelque chose à la recherche d'éléments html spécifiques. –

+1

Si les projets sont créés par une usine, vous devriez pouvoir y accéder dans vos définitions d'étapes. Donc stocker la variable dans l'étape donnée, et vous devriez être en mesure d'accéder à la variable dans les étapes suivantes – AlistairH