¿Cómo puedo causar que una construcción falle cuando la cobertura del código está por debajo de un cierto umbral?TFS 2010 RC: ¿Cómo fallar una compilación para una baja cobertura de código?
Respuesta
Es muy probable que haya una manera de hacer esto con una tarea de compilación (especialmente si está dispuesto a rodar la suya). Con suerte, alguien publicará un código de muestra para usted.
Si no, me ha impresionado con NDepend para este tipo de tarea. Puede escribir en una sintaxis similar a SQL muy autoexplicativa para determinar todo tipo de métricas sobre su código y advertir o fallar una compilación basada en umbrales.
Ejemplos:
WARN IF Count > 0 IN SELECT METHODS WHERE CodeWasChanged AND PercentageCoverage < 95
WARN IF Count > 0 IN SELECT METHODS WHERE IsPublic AND IsInOlderBuild AND WasRemoved
El principal problema es que el archivo de resultados de cobertura de código que produce MSTest está en un formato binario. Sin embargo, en el supuesto de que las cosas no han cambiado demasiado en VS2010, usted debería ser capaz de utilizar esta utilidad para convertirlo en un archivo XML:
http://codeexperiment.com/file.axd?file=2008%2f9%2fCodeCoverageConverter.zip
NOTA: Es probable que tenga que volver a compilar contra la versión VS2010 de 'Microsoft.VisualStudio.Coverage.Analysis.dll.
Puede utilizar su método preferido de análisis de ese archivo XML, haciendo los cálculos para cada uno de los ensamblajes instrumentados para calcular un índice de cobertura general. Los XPath que le interesa (al menos para VS2008) son:
/CoverageDSPriv/Module/LinesCovered
/CoverageDSPriv/Module/LinesNotCovered
Si usted quiere hacer el último paso en el más puro MSBuild, entonces el 'XmlRead' y las tareas 'Matemáticas' contenidas dentro de las tareas de MSBuild Comunidad biblioteca debería ser suficiente:
http://msbuildtasks.tigris.org/
vez que tenga la relación global en una propiedad de MSBuild, a continuación, sólo tiene que utilizar una tarea condicional para romper la acumulación si ese número es menor que el límite deseado.
<Error Condition=" $(CodeCoverageRatio) < $(MinCodeCoverage) "
Text="Code Coverage is below required threshold." />
Pregunta antigua, pero no está marcada como respondida. Eche un vistazo a this
- 1. Automatización de compilación TFS 2010: habilitación de cobertura de código
- 2. ¿Cómo puedo copiar una definición de compilación de TFS 2010?
- 3. ¿Cómo activa Cobertura de código en compilaciones dentro de TFS?
- 4. ASP de "compilación" clásica con TFS 2010
- 5. Razones para fallar una construcción
- 6. upgrade TFS 2010 y TFS 2012 RC to TFS 2012 final
- 7. TFS 2010 API, determine en qué servidor de compilación se está ejecutando una compilación.
- 8. ¿Cómo depuro los procesos de compilación personalizados en TFS 2010?
- 9. cobertura de código para una biblioteca de clases utilizando dotCover
- 10. ¿Cómo fallar la construcción cuando hay un nuevo código descubierto?
- 11. Cómo integrar las pruebas de NUnit en una compilación de TFS 2010
- 12. Actividad de compilación personalizada de TFS 2010 Error TF215097
- 13. Organizando el código fuente en TFS 2010
- 14. Problema de transformación de configuración de compilación de TFS 2010
- 15. TFS 2010: implementar en varios servidores después de la compilación
- 16. Compartir código entre proyectos en tfs 2010
- 17. Obtener el número de conjunto de cambios de una compilación desencadenada en TFS 2010
- 18. PHP cómo fallar una solicitud
- 19. Cualquier complemento de cobertura de código .net para Visual Studio 2010?
- 20. Nunidad y código de cobertura para C#
- 21. Cómo obtener una compilación específica con la API de TFS
- 22. TFS 2010 y "construir una vez, desplegar muchos"
- 23. Código de búsqueda TFS 2010 y VS 2010 en control de código fuente
- 24. vC++ error de compilación RC: error fatal RC1107: uso no válido; usar RC /? para
- 25. ¿Cómo empezar a escribir una herramienta de cobertura de código?
- 26. Despliegue automático TFS 2010
- 27. Habilitar la cobertura de código en VS 2010 ultimate
- 28. Eliminar una relación de ramificación en TFS 2010
- 29. Cómo crear una nueva colección de proyectos en TFS 2010 de forma remota
- 30. TFS 2010 API Recursos