Ricerca…


Osservazioni

Le definizioni di passaggio sono nel linguaggio di programmazione supportato da una determinata implementazione di Cucumber. Questo argomento fornisce esempi di definizioni di passaggi in ciascun linguaggio di programmazione supportato ed esempi di utilizzo di chiamate API Cucumber nelle definizioni di passaggi.

Alcune semplici definizioni di passi di Ruby

In features / step_definitions / documentation.rb:

When /^I go to the "([^"]+)" documentation$/ do |section|
  path_part =
    case section
      when "Documentation"
        "documentation"
      else
        raise "Unknown documentation section: #{section}"
    end
  visit "/documentation/#{path_part}/topics"
end

Then /^I should see the "([^"]+) documentation"$/ do |section|
  expect(page).to have_css('h2.doctag_title a', text: section)
end

Questi passaggi esercitano un'applicazione web. Sono semplici quanto possono essere mentre sono ancora pratici.

Ogni fase inizia con una parola chiave Gherkin, che in un file di definizione passo è un metodo che registra un passo con Cucumber. Il metodo di definizione passo prende un'espressione regolare, che corrisponde a una riga in uno scenario e un blocco, che viene eseguito quando lo scenario raggiunge una linea corrispondente. Cattura i gruppi nell'espressione regolare vengono passati al blocco come parametri di blocco.

Il passaggio When ha un semplice esempio in linea di passare da un riferimento leggibile da un utente a una pagina ("Documentazione") a un URL. Le suite di Real Cucumber di solito mettono questa logica in un metodo separato. Il metodo di visit è fornito da Capybara. Capibara non è tenuto a usare Cetriolo, sebbene sia molto usato con esso. visit dice al browser controllato da Capybara di visitare l'URL indicato.

Il passaggio Then mostra come è possibile testare il contenuto di una pagina. expect / to è fornito da RSpec (di nuovo, non richiesto da Cucumber ma molto comunemente usato con esso). have_css è fornito da Capybara. L'aspettativa è che il selettore CSS specificato corrisponda a un elemento della pagina che contiene il testo specificato. Si noti che questa aspettativa fallirebbe se la richiesta del browser fosse fallita.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow