Come faccio a verificare che un modulo viene pre-popolato con valori utilizzando cetriolo e Webrat?

StackOverflow https://stackoverflow.com/questions/1464110

Domanda

Sto imparando Cetriolo e Webrat con Rails e vorrei qualche consiglio sul modo migliore per testare un modulo di "modifica". Quando passo in rassegna al profilo di un utente mi sono presentato con una forma di modifica con le informazioni dell'utente pre-popolato i campi del modulo. Mi piacerebbe essere in grado di testare che i campi non di fatto contengono le informazioni mi aspetto. Ecco il mio piano d'azione:

  Scenario: View My Profile
    Given  I am logged in as "Mike" with password "secret"
    When I go to my profile page
    Then I should see "Mike" in the "Login" field
    And I should see "mike@email.com" in the "Email" field
    And I should see a blank "Password" field
    And I should see a blank "Password confirmation" field

cetriolo mi dice, giustamente, che ho bisogno di definire i seguenti passaggi personalizzati:

Then /^I should see "([^\"]*)" in the "([^\"]*)" field$/ do |arg1, arg2|
  pending
end

Then /^I should see a blank "([^\"]*)" field$/ do |arg1|
  pending
end

Sono sicuro che posso capire qualche brutta regex per implementare valutare questi passaggi, ma mi sento ci deve essere qualcosa di già esistente o più elegante che posso fare. Come si fa a valutare forme con i dati pre-popolati nei campi del modulo?

È stato utile?

Soluzione

Date un'occhiata a caratteristiche / step_definitions / webrat_steps.rb, la seguente definizione fase sembra che quello che stai cercando:

Then /^the "([^\"]*)" field should contain "([^\"]*)"$/ do |field, value|
  field_labeled(field).value.should =~ /#{value}/
end
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top