2010-10-04 14 views
0

J'ai une application avec une page de détail du produit. Sur cette page, l'utilisateur peut voir les prix, les descriptions, les spécifications, toutes les choses standard. Mais je veux tester cette vue dans le concombre. À l'heure actuelle, j'utilise des usines pour générer des identificateurs de produit et laisser tout le reste vide. Si j'ajoute les valeurs par défaut aux usines, alors vérifiez les mêmes valeurs par défaut dans les fonctionnalités, puis j'ai étroitement couplé ces deux composants (mauvais).Comment puis-je tester une vue des informations détaillées sur les produits dans Concombre?

Est-ce la seule façon de procéder pour fournir toutes les valeurs que je suis en train de tester dans le fichier de caractéristiques lui-même?

Répondre

0

Les tables de concombre sont un bon moyen de gérer cela, et il est facile de les attacher à vos usines. Je suppose que vous utilisez FactoryGirl, mais peu importe.

Scenario: I want to see some product details 
    Given the following product data 
      | name | price | description | 
      | Foo | 1.99 | Yay, it's foo | 
      | Bar | 4.99 | Yay, it's bar | 

Ensuite, quelque part dans vos définitions d'étapes, vous voudrez lier ceci à votre usine.

Given /^the following product data$/ do |table| 
    table.hashes.each do |hash| 
    Factory.create(:product, hash) 
    end 
end 

Notez que la « magie » vient ici de nommer les colonnes de la table dans la fonction même que vos colonnes db, qui deviennent les clés hash.

+0

N'hésitez pas à demander plus à ce sujet si je ne vous ai pas répondu complètement assez. Il n'était pas clair à partir de votre question à quel point de concombre vous étiez déjà familier avec. – jdl