Poiché la tabella viene elaborata dalla definizione del passo, è possibile inserire un segnaposto speciale nella tabella, ad esempio la stringa "TODAYS_DATE", quindi utilizzare map_column!
per elaborare i dati nella colonna nel formato desiderato .
Ad esempio dato la seguente tabella
Given the following user records
| username | date |
| alice | 2001-01-01 |
| bob | TODAYS_DATE |
nella definizione fase si avrebbe
Given /^the following user records$/ do |table|
table.map_column!('date') do |date|
if date == 'TODAYS_DATE'
date = Time.now.strftime("%Y-%m-%d")
end
date
end
table.hashes.each do |hash|
#Whatever you need to do
end
end
Nota questa modifica solo i valori quando si chiede l'hash. table e table.raw rimarranno gli stessi, ma ogni volta che avrai bisogno degli hash di riga, saranno convertiti dal codice all'interno di map_column!
fonte
2009-10-24 16:09:31
Nota: Sì, lo so come fare clic su un tag . Sto giocando stupidamente per mostrare l'importanza di: corretta capitalizzazione, fornendo contesto in una domanda, tagging corretto ... – PhiLho
Una rapida ricerca con Google suggerisce che BDD e Cucumber sono legati a Ruby on Rails - che potrebbe essere chiaramente ovvio se ti sposti in quei cerchi ma non se non lo fai. –
Il cetriolo è in realtà correlato al rubino, non al RoR. Gli sviluppatori non rails lo usano per testare il loro codice. Lo uso per testare il codice Java. E BDD non è legato a Rails, è uno sviluppo comportamentale, uno stile diverso rispetto a TDD, Test Driven Development. –