forked from mattetti/merb-book
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fixed the content and format of the Chapter 4.
- Loading branch information
Showing
5 changed files
with
103 additions
and
80 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,21 +1,20 @@ | ||
#¿Por qué hacer tests? | ||
#¿Por qué hacer pruebas? | ||
|
||
* Esto será una tabla de contenidos (este texto será pegado). | ||
{:toc} | ||
|
||
Es importante testear o probar tus aplicaciones para asegurarte que minimizas las posibilidades | ||
de introducir errores [regression][]. | ||
El framework de pruebas predeterminado de Merb utiliza el framework de pruebas [RSpec][] y una combinación de | ||
especificaciones de modelos (model specs), de peticiones (request specs) y de integración (integration specs). | ||
Es sumamente importante probar sus aplicaciones | ||
afin de asegurarte que minimizas las posibilidades de errores de [regresion][]. | ||
El framework de pruebas utilizado por Merb es [RSpec][] | ||
y una combinación de especificaciones de modelos, de peticiones y de integración. | ||
|
||
## Tipos de pruebas (tests) | ||
## Tipos de pruebas | ||
|
||
### Modelos | ||
|
||
### Peticiones (Requests) | ||
### Peticiones | ||
|
||
### Integración | ||
|
||
|
||
[regression]: http://en.wikipedia.org/wiki/Software_regression | ||
[RSpec]: http://rspec.info/ | ||
[regresion]: http://en.wikipedia.org/wiki/Software_regression | ||
[RSpec]: http://rspec.info/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
#Testing your models | ||
# Probando sus modelos |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
#Testing your requests | ||
# Probando sus peticiones |
137 changes: 76 additions & 61 deletions
137
book-content/es/4-testing-your-application/4-cucumber.markdown
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,89 +1,104 @@ | ||
# Pruebas de de integración con Cucumber (pepino) | ||
# Pruebas de integración con Cucumber | ||
|
||
* Esto será una tabla de contenidos (este texto será pegado). | ||
{:toc} | ||
|
||
[Cucumber][] es el método preferido para hacer pruebas de integración en las | ||
aplicaciones Merb. | ||
Cucumber es una herramienta que puede ejecutar la documentación de las características escrita en texto sin formato. | ||
Este es un ejemplo de una característica típica en Cucumber: | ||
[Cucumber][] es el método preferido para | ||
realizar las pruebas de integración en las aplicaciones Merb. | ||
Cucumber es una herramienta que puede ejecutar "documentación de características", | ||
las cuales son escritas en formato de texto simple. | ||
A continuación se le presentara una típica característica de Cucumber: | ||
|
||
Característica: Inicio de sesión | ||
Para asegurarnos de la seguridad de la aplicación | ||
Un usuario habitual del sistema | ||
Característica: Inicio de sesión de usuario | ||
Para asegurar la seguridad de la aplicación | ||
Un usuario cotidiano del sistema | ||
Debe autenticarse antes de utilizar la aplicación | ||
|
||
Escenario: Fallo de inicio de sesión | ||
Dado que no estoy autenticado | ||
Cuando voy a /login | ||
Y relleno "login" con "yo_no_existo" | ||
Y relleno "password" con "y_yo_no_tengo_password" | ||
Y pulso el botón "Log In" | ||
Escenario: Falla en el inicio de la sesión | ||
Dado que el usuario no se ha autenticado | ||
Cuando el usuario se dirige hacia /login | ||
Y relleno "usuario" con "yo_no_existo" | ||
Y relleno "contraseña" con "y_yo_no_tengo_contraseña" | ||
Y pulso el botón "Autenticarse" | ||
Entonces la solicitud de inicio de sesión debería fallar | ||
Y yo debería ver un mensaje de error | ||
Y el usuario debería recibir un mensaje de error | ||
|
||
## Merb y Cucumber | ||
|
||
Para utilizar Cucumber con Merb, necesitas instalar el plugin [merb\_cucumber][]. | ||
Para instalar el plugin, ejecuta el comando | ||
Para utilizar Cucumber junto con Merb, | ||
usted debe instalar el plug-in [merb\_cucumber][]. | ||
A fin de instalar esta herramienta, | ||
usted debe ejecutar el siguiente comando | ||
|
||
$ sudo gem install merb_cucumber | ||
{:lang=shell html_use_syntax=true} | ||
|
||
o, si estas utilizando el directorio local de gemas ejecuta | ||
En el caso de estar utilizando el directorio local de gemas, | ||
usted debe ejecutar el siguiente comando | ||
|
||
$ thor merb:gem:install merb_cucumber | ||
{:lang=shell html_use_syntax=true} | ||
|
||
Entonce, desde la raiz de tu proyecto merb ejecuta | ||
Entonces, desde el directorio raíz de su aplicación Merb, | ||
usted debe ejecutar el siguiente comando | ||
|
||
$ merb-gen cucumber | ||
{:lang=shell html_use_syntax=true} | ||
|
||
O para instalarlo con soporte de [Webrat][] ejecuta | ||
En el caso de instalar el soporte para [Webrat][], | ||
usted debe ejecutar el siguiente comando | ||
|
||
$ merb-gen cucumber --session-type webrat | ||
{:lang=shell html_use_syntax=true} | ||
|
||
Esto también instalará la característica de acceso (login) que se muestra arriba, que debería pasar | ||
si estas utilizando merb-auth. | ||
Esto también instalará la característica de acceso mostrada anteriormente. | ||
que debería pasar en el caso que usted este utilizando ``merb-auth``. | ||
|
||
Ejecutar todas las características es tan simple como ejecutar | ||
La ejecución de las características definidas | ||
es tan simple como ejecutar el siguiente comando | ||
|
||
$ rake features | ||
{:lang=shell html_use_syntax=true} | ||
|
||
## Creación de nuevas características | ||
Para agregar la definición de una nueva característica a su aplicación Merb, | ||
usted debe ejecutar el siguiente comando | ||
|
||
$ merb-gen feature nombre_característica | ||
{:lang=shell html_use_syntax=true} | ||
|
||
Este comando generará una nueva característica | ||
llamada ``nombre_característica.feature`` en el directorio ``features`` | ||
de su aplicación Merb. | ||
Esta característica tendrá el siguiente aspecto | ||
|
||
Característica: agregar comentario | ||
Para [cumplir una determinada meta] | ||
Un [un cierto rol o persona] | ||
Debe [una determinada acción] | ||
|
||
Escenario: [primer escenario] | ||
Dada [una pre-condición] | ||
Y [otra pre-condición] | ||
Cuando [un evento sucede] | ||
Y [otro evento sucede] | ||
Entonces [resultado] | ||
Y [otro resultado] | ||
|
||
Escenario: [otro escenario] | ||
Dada [una pre-condición] | ||
Y [otra pre-condición] | ||
Cuando [un evento sucede] | ||
Y [otro evento sucede] | ||
Entonces [resultado] | ||
Y [otro resultado] | ||
|
||
Si luego usted ejecuta sus característica desde la linea de comando, | ||
podrá observar que Cucumber le proporcionara consejos sobre como implementar cada paso. | ||
Para más información sobra la implementación de sus características, | ||
por favor referirse a la página [Cucumber wiki][]. | ||
|
||
[Cucumber]: http://github.com/aslakhellesoy/cucumber/wikis/home | ||
[merb\_cucumber]: http://github.com/david/merb_cucumber/tree/master | ||
[Webrat]: http://github.com/brynary/webrat/wikis | ||
[Cucumber wiki]: http://github.com/aslakhellesoy/cucumber/wikis/home | ||
|
||
Para añadir una nueva característica a tu aplicación Merb, ejecuta | ||
|
||
$ merb-gen feature NOMBRE_CARACTERISTICA | ||
|
||
Esto creará una nueva característica denominada NOMBRE_CARACTERISTICA.feature en el directorio 'features' | ||
que tendrá este aspecto: | ||
|
||
Feature: add comment | ||
To [accomplish some goal] | ||
A [role] | ||
Does [something] | ||
|
||
Scenario: [first scenario] | ||
Given [precondition] | ||
And [another precondition] | ||
When [event happens] | ||
And [another event happens] | ||
Then [outcome] | ||
And [another outcome] | ||
|
||
Scenario: [other scenario] | ||
Given [precondition] | ||
And [another precondition] | ||
When [event happens] | ||
And [another event happens] | ||
Then [outcome] | ||
And [another outcome] | ||
|
||
Si ejecutas tus características desde la linea de comandos, veras que Cucumber | ||
te da pistas sobre como implementar cada paso. | ||
Mas información sobre la implementación de características con Cucumber puede encontrarse en | ||
[Cucumber wiki]. | ||
|
||
[Cucumber]: http://github.com/aslakhellesoy/cucumber/wikis/home | ||
[merb\_cucumber]: http://github.com/david/merb_cucumber/tree/master | ||
[Webrat]: http://github.com/brynary/webrat/wikis | ||
[Cucumber wiki]: http://github.com/aslakhellesoy/cucumber/wikis/home |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,18 @@ | ||
# testing-your-application | ||
|
||
<ul class='toc'><li><a href='/es/testing-your-application/why'>Why test</a><ul style='list-style: none;'><li><a href='/es/testing-your-application/why#parts'>Parts</a><ul style='list-style: none;'><li><a href='/es/testing-your-application/why#models'>Models</a></li><li><a href='/es/testing-your-application/why#request'>Request</a></li><li><a href='/es/testing-your-application/why#integration_tests'>Integration tests</a></li></ul></li></ul></li></ul> | ||
|
||
<ul class='toc'><li><a href='/es/testing-your-application/models'>Testing your models</a></li></ul> | ||
|
||
<ul class='toc'><li><a href='/es/testing-your-application/requests'>Testing your requests</a></li></ul> | ||
|
||
<ul class='toc'><li><a href='/es/testing-your-application/cucumber'>Integration testing with RSpec Cucumber</a></li></ul> | ||
<ul class='toc'> | ||
<li><a href='/es/testing-your-application/why'>¿Por qué hacer pruebas?</a> | ||
<ul style='list-style: none;'> | ||
<li><a href='/es/testing-your-application/why#parts'>Partes</a> | ||
<ul style='list-style: none;'> | ||
<li><a href='/es/testing-your-application/why#models'>Modelos</a></li> | ||
<li><a href='/es/testing-your-application/why#request'>Peticiones</a></li> | ||
<li><a href='/es/testing-your-application/why#integration_tests'>Pruebas de integracion</a></li> | ||
</ul> | ||
</li> | ||
</ul> | ||
</li> | ||
<li><a href='/es/testing-your-application/models'>Probando sus modelos</a></li> | ||
<li><a href='/es/testing-your-application/requests'>Probando sus peticiones</a></li> | ||
<li><a href='/es/testing-your-application/cucumber'>Pruebas de integracion con Cucumber</a></li> | ||
</ul> |