> For the complete documentation index, see [llms.txt](https://elguerre.gitbook.io/de0an/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elguerre.gitbook.io/de0an/capitulo-6-la-construccion.-testeando-desde-el-principio/pruebas-unitarias-inteligentes.md).

# Pruebas Unitarias Intelligentes (Smart Testing)

Las pruebas unitarias inteligentes (o *Smart Tests*) exploran y analizan cada instrucción de código con el objetivo de generar datos y casos de pruebas para cubrir la mayor cantidad de código posible. Consiguen una alta cobertura y por tanto podemos decir que garantizan una mayor calidad.

Al ejecutar las pruebas auto-generadas revisaremos cuáles son las que fallan para modificarlas y corregirlas o agregar nuevas.

Estas pruebas son una versión más avanzada de sus predecesoras y ya conocidas *PEX* (pertenecientes al paquete “PEX and Moles”). Además, se encuentran integradas de manera nativa en Visual Studio.

Aunque en el momento de escribir el libro, no existe la posibilidad de generar pruebas inteligentes para aplicaciones universales, veremos una vez más, a modo de ejemplo, su funcionamiento:

1. Desde Visual Studio, abrir el proyecto para el que se van a crear las pruebas.
2. Para cada método de la clase a probar, pulsar la opción “Smart Unit Tests” del menú contextual. Igualmente, al pulsar dicha opción a nivel de clase o, bien, sin pulsar en ninguno los métodos, se generarán las pruebas para todos ellos.

   ![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-253360800342bdc5795301fd70a5b846cf3deab8%2Fimage25.png?alt=media)

**Figura 19.- Generación de pruebas unitarias inteligentes**

3. Finalizado el proceso, podremos revisar cada uno de los métodos de prueba y almacenarlos en el proyecto “.*Tests”* que se generará automáticamente, al pulsar el botón “Save”. Si existe previamente alguna clase de pruebas con el mismo nombre, la renombramos para evitar conflictos o, en su defecto, completamos el proceso manualmente.

![](https://240651724-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfrvHBNivOTy0fVKROgzo%2Fuploads%2Fgit-blob-61e8658871e9e936746a47b00cb3c7777d1adef7%2Fimage26.png?alt=media)

**Figura 20.- Guardar las pruebas automáticas inteligentes**

Para más detalle sobre el funcionamiento de las pruebas unitarias inteligentes, visitar la página: <https://msdn.microsoft.com/es-es/library/dn823749(v=vs.140).aspx>
