La Herramienta de Prueba de Objetos de Visual Studio

Visual Studio 2005 y 2008 disponen de una herramienta bastante útil pero también bastante desconocida llamada "Herramienta de Prueba de Objetos" que, como su propio nombre indica, nos permite probar cualquier clase disponible en nuestro programa sin necesidad de ejecutarlo ni de crear elementos de prueba.

¿Cuántas veces diseñando una clase para reutilizar en otros proyectos te has creado un proyecto anexo de tipo consola para poder probar poco a poco el código que ibas desarrollando? Con esta herramienta no te hará falta.

Puedes mostrarla desde el menú Ver·Otras ventanas. Para hacer uso de ella debes ir al explorador de clases  y localizar la clase que quieres probar (o ir a un diagrama de clase que contenga la clase a probar). Pulsando con el botón derecho sobre la clase, una de las opciones que aparecen es la de "Crear Instancia":

Al hacerlo se crea un nuevo objeto de la clase elegida al cual le otorgamos un nombre descriptivo:

y a partir de ese momento estará disponible en la ventana de la herramienta, listo para ser utilizado como si lo hubiésemos creado con un programa y tuviésemos un punto de interrupción preparado justo después:

Podemos, de hecho, examinarlo como cuando estamos depurando (se ve enla figura anterior), desplegando el examinador flotante y viendo los valores de sus propiedades, etc...

Si pulsamos con el botón derecho sobre uno de los objetos que tengamos en la ventana podremos invocar cualquiera de sus métodos o incluso cualquiera de los métodos de sus clases base:

Al hacerlo se muestra un diálogo que nos permite establecer los valores para los parámetros de invocación, pasando así los valores que sean necesarios:

(fíjate que las cadenas se pasan entre comillas, igual que en el código).

Eso hace que se ejecute el método y podamos probarlo sin necesidad de crear otro proyecto para ello. Además nos permite meter en la herramienta todos los objetos devueltos por los métodos que hayamos invocado para probar, convirtiéndose éstos en nuevos objetos dipsonibles en la ventana para utilizr y probar también. Por ejemplo, el método de prueba "Saluda" devuelve una cadena, la cual podemos almacenar y usar desde esta ventana (obviamente tiene más sentido con otros objetos, pero...):

Espero que la encontréis útil si no la conocíais :-)

Comparte este post:

Comentarios

# aaf said:

Hola José Manuel,

no conocía la herramienta, anda que no me hubiese ahorrado programas y programas de test!!!

Solo un detalle que me ha vuelto un poco loco y que no sé si pasará en todas las versiones.

Para que aparezca el menú contextual "Crear instancia" e "Invocar método estático" es necesario que el proyecto donde reside la clase esté configurado como "Establecer como proyecto de inicio".

Lo digo porque si en una solución tienes varios proyectos, en los que no sean el proyecto de inicio no aparecen estos menús.

En el MSDN indica este proeblema en: msdn2.microsoft.com/.../k6d9x2fx(VS.80).aspx

"Cause: The project which contains the class on which Object Test Bench is being invoked might not be set as StartUp Project.

Solution: In Whidbey, a project needs to be set as startup project before we can use OTB with it. In the Class view, right click on the project (which contains class you want to use with OTB) and click on Set as StartUp Project."

Dice Whidbey que si no recuerdo mal es el codename de VS2005, por eso no sé si pasará con todas las versiones o no.

Gracias y saludos

Thursday, December 13, 2007 10:46 AM
# José M. Alarcón Aguín said:

Hola:

Pues la verdad es que no me había fijado en ese detalle. Pues parece ser que sí, que es así...

El motivo creo que es que, si te fijas, en realidad por debajo lanza el proyecto (lo puedes ver por ejemplo, si elproyecto es de consola, porque aparece una línea de comandos cuando pruebas un objeto).

Tampoco lo entiendo mucho proque al fin y al cabo podrían haberlo facilitado con una especie de proyecto virtual o algo así....

En fin...

Saludos

JM.

Thursday, December 13, 2007 1:50 PM
# José M. Alarcón Aguín said:

Por cierto, sí, Whidbey era el nombre en clave de VS2005 igual que Oracas era el de VS2008 :-)

Thursday, December 13, 2007 1:51 PM
# Jersson said:

Muy interesante, lastima que en las ediciones express 2008 no se tenga esa funcionalidad,

por cierto, no hay class view en VBExpress 2008!!

Friday, December 14, 2007 4:37 PM
# Rodrigo Corral said:

Solo un comentario... si se usa testeo unitario, no necestias tirar de esta caracteristica y además puedes repetir las pruebas cuando quieras entre otras ventajas... :)

Un saludo!!!

Saturday, December 15, 2007 12:48 PM