« Previous -
Version 12/40
(diff) -
Next » -
Current version
Guillermo Gómez, 02/17/2011 04:20 pm
Cucumber¶
Behaviour Driven Development (BDD).
- https://github.com/aslakhellesoy/cucumber
- http://cukes.info/
- http://cuke4ninja.com/sec_cucumber_jargon.html
Instalación¶
# yum install rubygem-cucumber
Describa el comportamiento en texto plano¶
Cucumber es una herramienta que ejecuta descripciones funcionales en texto plano como pruebas automatizadas. El lenguaje que Cucumber entiende se conoce como Gherkin.
1# language: es
2Característica: Buscar en cursos
3 Con la finalidad de asegurar una mejor utilización de los cursos
4 Los estudiantes potenciales deben ser capaces de realizar búsqueda en los cursos
5
6Escenario: Búsqueda por tema
7 Dado que hay 240 cursos que no tienen el tema "biología"
8 Y que hay 2 cursos , A001, B205, que cada uno tiene "biología" como uno de sus temas
9 Cuando yo busque por "biología"
10 Entonces yo debería ver los siguientes cursos:
11 | Id. del curso |
12 | A001 |
13 | B205 |
Corrida de prueba¶
$ cucumber features/f1.extension
# language: es
Característica: Buscar en cursos
Con la finalidad de asegurar una mejor utilización de los cursos
Los estudiantes potenciales deben ser capaces de realizar búsquedas en los cursos
Escenario: Búsqueda por tema # features/f1.extension:6
Dado que hay 240 cursos que no tienen el tema "biología" # features/f1.extension:7
Y que hay 2 cursos , A001, B205, que cada uno tiene "biología" como uno de sus temas # features/f1.extension:8
Cuando yo busque por "biología" # features/f1.extension:9
Entonces yo debería ver los siguientes cursos: # features/f1.extension:10
| Id. del curso |
| A001 |
| B205 |
1 scenario (1 undefined)
4 steps (4 undefined)
0m0.009s
You can implement step definitions for undefined steps with these snippets:
Dado /^que hay (\d+) cursos que no tienen el tema "([^"]*)"$/ do |arg1, arg2|
pending # express the regexp above with the code you wish you had
end
Dado /^que hay (\d+) cursos , A(\d+), B(\d+), que cada uno tiene "([^"]*)" como uno de sus temas$/ do |arg1, arg2, arg3, arg4|
pending # express the regexp above with the code you wish you had
end
Cuando /^yo busque por "([^"]*)"$/ do |arg1|
pending # express the regexp above with the code you wish you had
end
Entonces /^yo debería ver los siguientes cursos:$/ do |table|
# table is a Cucumber::Ast::Table
pending # express the regexp above with the code you wish you had
end
If you want snippets in a different programming language, just make sure a file
with the appropriate file extension exists where cucumber looks for step definitions.
Escriba la definición de paso en Ruby¶
- http://gem-session.com/2010/04/never-write-a-cucumber-step-definition-again-with-cucumber-factory
- https://gist.github.com/414051
Cree un subdirectorio step_definitions y un primer archivo de definiciones de paso como features/step_definitions/basic_steps.rb .
1require 'rubygems'
2require 'spec'
3
4Dado /^que hay (\d+) cursos que no tienen el tema "([^"]*)"$/ do |arg1, arg2|
5 pending # express the regexp above with the code you wish you had
6end
7
8Dado /^que hay (\d+) cursos , A(\d+), B(\d+), que cada uno tiene "([^"]*)" como uno de sus temas$/ do |arg1, arg2, arg3, arg4|
9 pending # express the regexp above with the code you wish you had
10end
11
12Cuando /^yo busque por "([^"]*)"$/ do |arg1|
13 pending # express the regexp above with the code you wish you had
14end
15
16Entonces /^yo debería ver los siguientes cursos:$/ do |table|
17 # table is a Cucumber::Ast::Table
18 pending # express the regexp above with the code you wish you had
19end
