2010-09-03 2 views
1

J'ai une forme qui a cetteconcombre devrait voir le bouton

<%= submit_tag 'Search Event' %>

et une étape de concombre qui dit

And I should see "Search Event"

mais cette étape échoue .. Pourquoi?

Voici l'erreur que je reçois

expected #has_content?("Search Event") to return true, got false (RSpec::Expectations::ExpectationNotMetError) 
+0

quelle erreur il fait imprimer? – corroded

+0

a ajouté le message d'erreur – Addy

Répondre

1

Je pense que cela ne fonctionne pas parce que l'étiquette du bouton ne se contente pas de texte - il est l'attribut de valeur du bouton d'envoi.

+0

je le pensais. quel est le meilleur moyen de vérifier l'existence d'un bouton? – Addy

+1

Vous pouvez le faire en écrivant votre propre étape qui utilise Webrat (ou Capybara) pour trouver le bouton. Ou, au lieu de vérifier l'existence d'un bouton, vous pouvez simplement (essayer de) utiliser le bouton avec "Puis j'appuie sur ..." pour soumettre le formulaire et confirmer les résultats. –

13

Écrivez votre propre étape, à savoir l'utilisation capybara (rspec ainsi):

Then /^I should see "([^"]*)" button/ do |name| 
    find_button(name).should_not be_nil 
end 
1

Ce travail positif:

Then /^I should see "([^"]*)" button/ do |name| 
    should have_button name 
end 

en négatif:

Then /^I should not see "([^"]*)" button/ do |name| 
    should have_no_button name 
end 
Questions connexes