Si no obtiene los resultados esperados, vea Solución de problemas de cobertura de código.If you don't get the results you expect, see Troubleshooting Code Coverage...No olvide ejecutar la cobertura de código de nuevo después de actualizar el código.Don't forget to run code coverage again after updating your code.Los resultados de cobertura y color de código no se actualizan automáticamente después de modificar el código o al ejecutar pruebas.Coverage results and code coloring are not automatically updated after you modify your code or when you run tests.

Informes en bloques o líneasReporting in blocks or lines

La cobertura de código se cuenta en bloques.Code coverage is counted in blocks.Un bloque es un fragmento de código con un punto de entrada y de salida exactamente.A block is a piece of code with exactly one entry and exit point.Si el flujo de control del programa pasa a través de un bloque durante una serie de pruebas, ese bloque se cuenta como cubierto.If the program's control flow passes through a block during a test run, that block is counted as covered.El número de veces que se utiliza el bloque no tiene ningún efecto en el resultado.The number of times the block is used has no effect on the result.

También se pueden mostrar los resultados en líneas eligiendo Agregar o quitar columnas en el encabezado de tabla.You can also have the results displayed in terms of lines by choosing Add/Remove Columns in the table header.Si la serie de pruebas probó todos los bloques de código en cualquier línea de código, se cuenta como una línea.If the test run exercised all the code blocks in any line of code, it is counted as one line.Siempre que una línea contenga algunos bloques de código que se han ejecutado y otros que no, se cuenta como una línea parcial.Where a line contains some code blocks that were exercised and some that were not, that is counted as a partial line.

Algunos usuarios prefieren un recuento de líneas porque los porcentajes corresponden más al tamaño de los fragmentos que aparece en el código fuente.Some users prefer a count of lines because the percentages correspond more closely to the size of the fragments that you see in the source code.Un bloque grande de cálculo contaría como un único bloque aunque ocupe muchas líneas.A long block of calculation would count as a single block even if it occupies many lines.

La ventana de resultados de cobertura de código normalmente muestra el resultado de la ejecución más reciente.The Code Coverage Results window usually shows the result of the most recent run.Los resultados variarán si se cambian los datos de prueba, o si se ejecutan solo algunas pruebas cada vez.The results will vary if you change your test data, or if you run only some of your tests each time.

Se pueden fusionar mediante combinación los resultados de varias ejecuciones, por ejemplo de las ejecuciones que utilizan distintos datos de prueba.You can merge the results of several runs, for example from runs that use different test data.

Para enviar resultados a otra persona, envíe un archivo .coverage o un archivo exportado .coveragexml.To send results to someone else, send either a .coverage file or an exported .coveragexml file.Después pueden importar el archivo.They can then import the file.Si tienen la misma versión de código fuente, pueden ver el color de cobertura.If they have the same version of the source code, they can see coverage coloring.

Combinar resultados de diferentes ejecucionesMerging results from different runs

En algunas situaciones, se utilizarán diferentes bloques de código, en función de los datos de prueba.In some situations, different blocks in your code will be used depending on the test data.Por consiguiente, es posible que se deseen combinar los resultados de varias series de pruebas.Therefore, you might want to combine the results from different test runs.

Por ejemplo, suponga que al ejecutar una prueba con la entrada “2", se detecta que el 50 % de una determinada función está cubierto.For example, suppose that when you run a test with input "2", you find that 50% of a particular function is covered.Al ejecutar la prueba una segunda vez con la entrada “-2" se observa en la vista de color de destino que el otro 50 % de la función está cubierto.When you run the test a second time with the input "-2" you see in the coverage coloring view that the other 50% of the function is covered.Ahora se fusionan mediante combinación los resultados de las dos series de pruebas y tanto el informe como la vista de color de cobertura muestran que el 100 % de la función se ha analizado.Now you merge the results from the two test runs, and the report and coverage coloring view show that 100% of the function was covered.

Limitaciones de la combinaciónLimitations in merging

Si se combinan datos de cobertura de distintas versiones del código, los resultados se muestran por separado, pero no se combinan.If you merge coverage data from different versions of the code, the results are shown separately, but they are not combined.Para obtener resultados combinados totalmente, utilice la misma compilación del código, cambiando únicamente los datos de prueba.To get fully combined results, use the same build of the code, changing only the test data.

Si se fusiona mediante combinación un archivo de resultados que se ha exportado y después se ha importado, se pueden ver únicamente los resultados por líneas, no por bloques.If you merge a results file that has been exported and then imported, you can only view the results by lines, not by blocks.Utilice el comando Agregar o quitar columnas para mostrar los datos de línea.Use the Add/Remove Columns command to show the line data.

Si se fusionan mediante combinación los resultados de pruebas de un proyecto ASP.NET, los resultados de pruebas separadas se muestran, pero no se combinan.If you merge results from tests of an ASP.NET project, the results for the separate tests are displayed, but not combined.Esto se aplica solo a los artefactos de ASP.NET: los resultados para cualquier otro ensamblado se combinan.This applies only to the ASP.NET artifacts themselves: results for any other assemblies will be combined.

Excluir elementos de los resultados de la cobertura de códigoExcluding elements from the code coverage results

Coloque llamadas a macros de exclusión en el espacio de nombres global, no dentro de ningún espacio de nombres o clase.Place calls to the exclusion macros in the global namespace, not within any namespace or class.

Se pueden colocar las exclusiones en el archivo de código de pruebas unitarias o en el archivo de código de aplicación.You can place the exclusions either in the unit test code file or the application code file.

El análisis de cobertura de código se realiza únicamente en los ensamblados que están cargados, para los qué está disponible un archivo .pdb en el mismo directorio que el archivo .dll o .exe.Code coverage analysis is performed only on assemblies that are loaded and for which a .pdb file is available in the same directory as the .dll or .exe file.Por consiguiente, en determinadas circunstancias, se puede extender el conjunto de ensamblados que se incluye obteniendo copias de los archivos .pdb adecuados.Therefore in some circumstances, you can extend the set of assemblies that is included by getting copies of the appropriate .pdb files.

Analizar la cobertura de código en el servicio de compilaciónAnalyzing code coverage in the build service

Al insertar en el repositorio el código, las pruebas se ejecutarán en el servidor de compilación, junto con todas las demás pruebas de otros miembros del equipo.When you check in your code, your tests will run on the build server, along with all the other tests from other team members.(Si aún no lo ha configurado, vea Ejecutar pruebas en el proceso de compilación). Es útil analizar la cobertura de código del servicio de compilación, porque proporciona la imagen más actualizada y más completa de cobertura de todo el proyecto.(If you haven't already set this up, see Run tests in your build process.) It's useful to analyze code coverage on the build service, because that gives the most up-to-date and comprehensive picture of coverage in the whole project.También se incluyen las pruebas del sistema automatizadas y otras pruebas codificadas que no se ejecutan normalmente en los equipos de desarrollo.It will also include automated system tests and other coded tests that you don't usually run on the development machines.

En Team Explorer, abra Compilaciones y agregue o modifique una definición de compilación.In Team Explorer, open Builds, and then add or edit a build definition.