Pages

Friday, July 9, 2010

VS2010: Generador de Pruebas unitarias con Pex

image

Comenzamos este post con una clase, digamos que “simple”. La cual refleja dos operaciones básicas; sumar y dividir.
Agreguemos a esto que la directiva de desarrollo es:
- “todo método va con su prueba unitaria
Ante esto y ya lo he vivido en mas de un proyecto la respuesta común es:
- “me quita tiempo, lo dejaré para después, no es importante”
Entonces, solo me queda decir:
- “No hay pretexto que valga”

Esto por qué?
En primer lugar, no hay respuesta inválida, el problema es que muchas veces no hay un sustento concreto. Este es el caso de la frase “no es importante, me quita tiempo”, ya que, a pesar de ser cierto el hecho de tener que programar cada caso y prueba unitaria, es importante dejar este sustento.

Pero, el problema a relucir es muchas veces la cantidad de casos a probar y por ende, la cantidad de pruebas unitarias a preparar, vamos, tenemos que aceptar que el número de pruebas es variable. Dependiendo claro, de la lógica a ofrecer.
Tal es el caso de una división simple, que a pesar de tener dos parámetros, uno debe considerar aspectos importantes como el clásico caso de la división por cero.
Créanme, hay lugares donde he visto como se omitió esta variante y ERROR!!! LLAMEN A LOS BOMBEROS!! No es broma… pero bueno.

Entonces, si de división se trata, deberíamos tener al menos dos casos, o bueno, quizá mas… y ahora? a programar los casos? Nada que ver, usemos Microsoft Pex.
image 

Esperamos mientras Pex comienza a revisar el método, hasta que muestra la siguiente ventana de resultados:
image

Aquí me detendré en algunas secciones de la ventana, como esta, que te indica los mensajes de las excepciones que saldrían si no controlamos bien nuestro código:
image  

Si seleccionamos un registro, obtendremos información del método de prueba usado.
image 

image 

Por otro lado, en el extremo derecho de nuestro Visual Studio, encontraremos una nueva sección:
image 
La cual nos dará una idea más gráfica del estado de los métodos de prueba generados.

Ahora!
Qué sucede si queremos tener estos métodos en un proyecto de pruebas?
Pues seleccionamos
image

image

image 

Esperamos un momento y revisamos los cambios en nuestro Explorador de Soluciones:
image 

Revisamos nuestro archivo vsmdi, el cual al abrir nos mostrará un listado de las pruebas unitarias creadas en toda la solución:
image

El cual será:
image

Ya si queremos verificar el estado de las pruebas unitarias, pues, check a todas, click derecho…
image

Si verificamos el resultado:
image

El cual es similar a lo obtenido inicialmente. Lo cual demuestra el traslado de las pruebas unitarias creadas de manera automática.

De por si, aquí hay mucho por ver, como por ejemplo el código generado, el cual, los invito a revisar =)
Me despido sin más, esperando sus comentarios, y claro, que descarguen y usen Microsoft Pex.

Saludos y Gracias
@Jersson

2 comments:

  1. Hola, se puede utilizar PEX con el VS 2008 ? salu2

    ReplyDelete
  2. Hola, asi es, el procedimiento es similar, posiblemente al ejecutar la primera vez, te salga un prompt de selección de framework de pruebas, luego todo es igual =)

    Lei hace un tiempo la posibilidad de ejecutarlo por línea de comandos, pero es cuestión de revisar =)

    Saludos.

    ReplyDelete