Вы находитесь на странице: 1из 6

Manual .

Net Test Coverage


Herramientas:
Microsoft Visual Studio IDE
OpenCover
ReportGenerator
MSBuild (viene junto con Visual Studio)
MSTest (viene junto con Visual Studio)
Pre-Requisitos:
Descarga OpenCover:
o NuGet:
Abrir la consola de administracin de paquetes del Visual Studio:
Tools > Library Package Manager > Package Manager Console
Ejecutar: PM> Install-Package OpenCover
En la carpeta donde se tiene la solucin se agregar la carpeta package, dentro
estar lo anteriormente descargado
Descarga ReportGenerator:
o http://reportgenerator.codeplex.com/ (Lo que se va a usar esta dentro de bin)
o Nuget: PM> Install-Package ReportGenerator
Cdigos de uso de las herramientas:
1. OpenCover: Ms informacin: https://github.com/sawilde/opencover/wiki/Usage
a. C:\>OPENCOVER_PATH\OpenCover.Console.exe
-target:"MSTEST_PATH\MSTest.exe"
targetargs:"/testcontainer: Test_ Path\Tests.dll"
output:OUTPUT_PATH\name_result.xml"
2. ReportGenerator:
a. C:\> ReportGenerator_PATH\ReportGenerator.exe
"OpenCoverResulPath\name.xml"
"OUTPUT_PATH\HtmlResult"

3. MSBuild: Ms informacin: http://msdn.microsoft.com/en-us/library/vstudio/ms164311.aspx
4. MSTest: Ms informacin: http://msdn.microsoft.com/en-us/library/ms182489(v=vs.80).aspx
5. Leyenda:
a. OpenCover:
i. OPENCOVER_PATH: Ubicacin del OpenCover.
ii. MSTEST_PATH: Ubicacin del MSTest.exe.
iii. Test_Path: Ubicacin de los .dll generados por el Visual Studio
iv. Tests.dll: Librera con los tests compilados.
v. OUTPUT_PATH: Ubicacin donde se generar el archivo XML con los
resultados.
vi. Name_result: Nombre con que se guardar el archivo XML

b. ReportGenerator:
i. ReportGenerator_PATH: Ubicacin del ReportGenerator.
ii. OpenCoverResultPath: Direccin en la que se guard el archivo
resultante del OpenCover (OUTPUT_PATH).
iii. OUTPUT_PATH: Ubicacin en la que se guardarn los resultados.
iv. HtmlResult: Nombre de la carpeta que se generar con los resultados.
Procedimiento:
1. Compilar la solucin y ejecutar los tests.
2. Abrir el Command Prompt (CMD).
3. Ejecutar el cdigo del OpenCover.
4. Ejecutar el cdigo del ReportGenerator.
5. Dirigirse a la carpeta donde se guardaron los resultados del ReportGenerator y abrir los
resultados.
Procedimiento con el MSBuild Project File (recomendado) [ver Crear MSBuild ProjectFile]
1. Abrir el Developer Command Prompt for Visual Studio
2. Ejecutar con el MSBuild.exe el MSBuild Project File
3. Dirigirse a la carpeta donde se guardaron los resultados del ReportGenerator y abrir los
resultados.
Crear el MSBuild Project File y ejemplo:
Si se busca optimizar el proceso de generar los reportes de cobertura, se puede proceder
a crear un archivo .proj que disminuye los pasos del procedimiento
1. Se abre la solucin.
a. UPC.TDP.ElUltimoIntentoReloaded: Cdigo fuente del proyecto.
b. UPC.TDP.ElUltimoIntentoReloaded.Test: Librera con las pruebas unitarias.

2. Se abre un editor de texto (ej. Notepad++).
3. Se crea un archivo, denominado build_config, con la extensin .proj, de
preferencia en el mismo lugar de la solucin.

4. En el archivo escribir lo siguiente
a. MSTestPath: Ubicacin del MSTest.
b. OpenCoverPath: Ubicacin del OpenCover.
c. ReportGeneratorPath: Ubicacin del ReportGenerator.
d. ReportsPath: Ubicacin donde se guardarn los resultados tanto del
OpenCover y del ReportGenerator.
e. Solution: La ubicacin de la solucin (.sln).
f. TestFiles: Ubicacin de los .dll.
g. ReportsNameSpaces: Nombre del namespace como se desea que se guarden
los resultados.


5. Configurar target Clean y Compile
a. Target Clean: Borra los resultados anteriores del OpenCover y
ReportGenerator.
b. Target Compile: Compila la solucin.



<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

<PropertyGroup>
<MSTestPath Condition="!Exists('C:\Program Files (x86)')">C:\Program Files\Microsoft Visual Studio
10.0\Common7\IDE</MSTestPath>
<MSTestPath Condition="Exists('C:\Program Files (x86)')">C:\Program Files (x86)\Microsoft Visual Studio
11.0\Common7\IDE</MSTestPath>
<OpenCoverPath>packages\OpenCover.4.5.1403</OpenCoverPath>
<ReportGeneratorPath>packages\ReportGenerator.1.8.0.0</ReportGeneratorPath>
<ReportsPath>target\reports</ReportsPath>
<Solution>ElUltimoIntentoReloaded.sln</Solution>
<TestFiles>UPC.TDP.ElUltimoIntentoReloaded.Tests\bin\Debug\UPC.TDP.ElUltimoIntentoReloaded.Tests.dll</TestFiles>
<ReportNamespaces>[UPC.TDP.ElUltimoIntentoReloaded]*</ReportNamespaces>
</PropertyGroup>
<Target Name="Clean">
<RemoveDir Directories="target" />
<RemoveDir Directories="TestResults" />
</Target>
<Target Name="Compile">
<MSBuild Projects="$(Solution)" Properties="Configuration=Debug" />
</Target>



6. Configurar target tests ( En una sola line)

a. MakeDir: Crea una carpeta.
b. Exec: Ejecuta el OpenCover (ver uso)

7. Configurar target report
a. Exec: Ejecuta el ReportGenerator (ver uso).

8. Configurar target deploy
a. DependsOnTargets: Ejecuta los targets especificados.

9. Abrir Developer Command Prompt for Visual Studio


10. Dirigirse a la carpeta donde se guard el archive .proj
<Target Name="Test" DependsOnTargets="Clean; Compile">
<MakeDir Directories="$(ReportsPath)\coverage" />
<Exec Command="$(OpenCoverPath)\OpenCover.Console.exe -target:&quot;$(MSTestPath)\MSTest.exe&quot; -
targetargs:&quot;/noisolation /testcontainer:$(TestFiles)&quot; -
output:&quot;$(ReportsPath)\coverage\opencover.xml&quot; -register:user " />
</Target>
<Target Name="Report" DependsOnTargets="Test">
<Exec Command="$(ReportGeneratorPath)\ReportGenerator.exe
&quot;$(ReportsPath)\coverage\opencover.xml&quot;
&quot;$(ReportsPath)\coverage\HTML&quot;" ContinueOnError="true" />
</Target>
<Target Name="Deploy" DependsOnTargets="Clean; Compile; Report">
</Target>

</Project>
*En una sola
lnea



11. Ejecutar MSBuild.exe build_config.proj



Ms informacin acerca del MSBuild Project File: http://msdn.microsoft.com/en-
us/library/dd576348.aspx






Resultados del OpenCover y ReportGenerator:

Вам также может понравиться