Navigation Menu

Skip to content

Commit

Permalink
Fixed the content and format of the Chapter 4.
Browse files Browse the repository at this point in the history
  • Loading branch information
Julio Javier Cicchelli authored and mattetti committed Jan 30, 2009
1 parent da09ff0 commit 075f49d
Show file tree
Hide file tree
Showing 5 changed files with 103 additions and 80 deletions.
19 changes: 9 additions & 10 deletions book-content/es/4-testing-your-application/1-why.markdown
@@ -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/
@@ -1 +1 @@
#Testing your models
# Probando sus modelos
@@ -1 +1 @@
#Testing your requests
# Probando sus peticiones
137 changes: 76 additions & 61 deletions book-content/es/4-testing-your-application/4-cucumber.markdown
@@ -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
23 changes: 16 additions & 7 deletions book-content/es/4-testing-your-application/toc.markdown
@@ -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>

0 comments on commit 075f49d

Please sign in to comment.