dotCover es una herramienta para pruebas de unidad y cobertura de código de .NET que funciona directamente en Visual Studio y en JetBrains Rider, le ayuda a conocer qué parte de su código está cubierta con pruebas de unidad, ofrece excelentes formas de visualizar la cobertura de código y está pronta para la Integración continua. dotCover calcula e informa sobre la cobertura de código en declaraciones en aplicaciones que apuntan a .NET Framework, .NET Core, Mono y Mono for Unity.
dotCover es un complemento para Visual Studio y JetBrains Rider que le da la ventaja de analizar y visualizar la cobertura de código sin salir del editor de código. Esto incluye ejecutar pruebas de unidad y analizar los resultados de la cobertura sin salir de los IDE. Además, admite distintos esquemas de colores, nuevos iconos y menús.
dotCover es compatible con Visual Studio 2010, 2019 y JetBrains Rider 2018.2 o posterior.
Como parte de Visual Studio o JetBrains Rider en Windows, dotCover es compatible con proyectos dirigidos a cualquier versión compatible de .NET Framework, .NET Core, .NET, Mono 5.10 o posterior y Unity 2018.3 o posterior. En macOS y Linux, dotCover solo puede utilizarse como parte de JetBrains Rider.
dotCover incluye un ejecutor de pruebas de unidad que comparte con ReSharper, otra herramientas de JetBrains para desarrolladores .NET.
El ejecutor funciona en Visual Studio / JetBrains Rider, permite gestionar pruebas de unidad a través de sesiones y admite múltiples marcos de trabajo para pruebas de unidad: MSTest, NUnit, xUnit (todos de forma predeterminada) y MSpec (mediante un complemento).
dotCover admite pruebas continuas: un moderno flujo de trabajo de pruebas mediante el cual dotCover descubre sobre la marcha qué pruebas de unidad se ven afectadas por sus modificaciones más recientes al código, y vuelve a ejecutar automáticamente las pruebas afectadas.
En base a sus preferencias, dotCover puede ejecutar las pruebas afectadas al guardar un archivo, al compilar su solución o apenas le indique a dotCover hacerlo.
El modo de pruebas continuas se puede activar para cualquier sesión de prueba de unidad: de esta forma podrá elegir qué pruebas ejecutar de forma continua y cuáles ejecutar de forma tradicional.
Uno de los principales casos de uso de dotCover es analizar la cobertura de pruebas de unidad. Es decir, encontrar qué partes de la lógica empresarial de la aplicación están cubiertas por pruebas de unidad y cuáles no.
Junto con los resultados de ejecución de pruebas de unidad, dotCover presenta un árbol de cobertura que muestra en qué profundidad está cubierto por pruebas de unidad un proyecto, espacio de nombres, tipo o miembro de tipo específico.
Para visualizar los datos de cobertura, dotCover puede resaltar líneas de código directamente dentro del editor de código. Es posible alternar entre marcadores de resaltado y fondos coloreados o mostrar ambos.
Tenga en cuenta que el resaltado no solo muestra el código cubierto y no cubierto, sino también los resultados de las pruebas de unidad que los cubren. El color verde significa que la pruebas se aprobaron, mientras que el color rojo indica que al menos una de las pruebas que cubre la declaración falló. El color gris muestra el código no cubierto.
dotCover cuenta con un comando (y un acceso directo de teclado) para detectar qué pruebas cubren una posición particular del código, ya sea una clase, método o propiedad.
Puede invocar el comando desde el editor de texto de Visual Studio o desde la vista de Árbol de cobertura de dotCover.
Puede navegar desde un cuadro desplegable que lista las pruebas que cubren el código hacia cualquiera de estas pruebas. Además, puede ejecutarlas instantáneamente o añadirlas a una sesión de pruebas de unidad existente.
La vista de Puntos calientes está diseñada para ayudarle a identificar los métodos más arriesgados de su solución. Los Puntos calientes se calculan en términos de alta complejidad ciclomática y baja cobertura de los métodos con pruebas de unidad.
A veces no desea conocer la cobertura de datos en toda la solución. Por ejemplo, puede que no le interesen las estadísticas de cobertura del código marcado con ObsoleteAttribute
o de un proyecto heredado en particular.
En este caso puede definir filtros de cobertura globales o específicos para la solución en base a su proyecto, espacio de nombres, tipo o nombres de miembros de tipos. También hay filtros de atributos disponibles para restringir la recopilación de información de cobertura al código marcado (o no marcado) con distintos atributos.
Como alternativa a los filtros que debe configurar por adelantado o que debe aplicar a cualquier solución que abra, puede excluir elementos de los resultados de cobertura a medida que trabaja con ellos.
Cuando ya haya recopilado datos de cobertura, podrá elegir excluir un nodo específico del árbol de cobertura (y, opcionalmente, crear un filtro de cobertura permanente). Tan pronto como haga esto, dotCover recalculará inmediatamente las estadísticas de cobertura.
dotCover ayuda a procesar los datos de cobertura según sus necesidades.
Exportar a varios formatos como HTML, XML, JSON y XML para NDepend le permite compartir informes de cobertura con el resto del equipo o pasar información de cobertura a servicios externos.
Como alternativa a la cobertura de pruebas de unidad, dotCover puede ejecutar un análisis de cobertura sobre aplicaciones .NET ejecutadas desde Visual Studio.
Esto permite al ingeniero de control de calidad ejecutar un escenario de caso de uso y examinar qué partes del código se ejecutaron durante este caso de uso. Guardar y combinar instantáneas de cobertura permite ejecutar casos de prueba no triviales.
dotCover funciona perfectamente con servidores de Integración continua, especialmente con el producto propio de JetBrains, TeamCity.
Antes que nada, mediante el complemento de TeamCity para Visual Studio, dotCover puede obtener información de cobertura desde un servidor de TeamCity sin ejecutar un análisis de cobertura sobre una máquina local.
Por otra parte, el motor de análisis de cobertura de dotCover está incluido en una versión gratuita de TeamCity, lo que ayuda a programar ejecuciones de cobertura como parte de un proceso de Integración continua y generar informes de cobertura del lado del servidor. TeamCity entiende la salida del ejecutor de consola de dotCover y resalta sus errores y advertencias en el registro de build.
Prueba gratuita de 30 días disponible