Como incluir un fichero en el resultado de una prueba unitaria en Visual Studio 2008

Existen ocasiones en las que nos puede interesar que una prueba unitaria incluya un determinado recurso. Esto ocurre cuando el código que deseamos testear cuenta con la existencia , por ejemplo, de un determinado fichero de texto, una hoja de cálculo o una Service-based Database (.mdf)

Como sabeis, el resultado del proceso de test genera una nueva carpeta (TestResults) donde incluye el resultado de cada generación. Si dicho resultado cuenta con una referencia relativa (la mejor manera de hacerlo) hacia un recurso pues ya la tenemos liada…

Pero como siempre (o casi) la solución es más facil de lo que parece. Existe un decorador especialmente creado para esta necesidad. Basta con colocar sobre el método que deseamos incluya el recurso el item de despliegue de la siguiente manera:

[TestMethod()]
[DeploymentItem(@».fichero.xls»)]

public int EjemploTest()
{



(. si está en la raiz claro…)

Por supuesto los más inquietos ya se estan preguntando como evitar tener que incluir este decorador en todos los métodos (especialmente interesante si se trata de una Service-based Database (mdf)).

Pues para esto también existe una facil solución. Basta con incluir el recurso en el ficheroLocalTestRun.testrunconfig dentro del elemento Deployment con la siguiente sintaxis:

[Nombre del proyecto][Nombre del recurso]

y ya podemos quitar el decorador.

Por cierto, si deseais incluir un fichero Service-based Database (mdf) en una prueba unitaria y referenciarlo con una cadena de conexión del estilo: «..AttachDbFilename=|DataDirectory|..» necesitais tenerinstalado el SP1 de VisualStudio 2008. Sin este, la referencia se realiza directamente contra en .Net Framewok y no encontrará el recurso.

2 comentarios sobre “Como incluir un fichero en el resultado de una prueba unitaria en Visual Studio 2008”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *