Novedades de dotCover

Esta página incluye las actualizaciones y los cambios más recientes en dotCover.

Mejoras de rendimiento 2025.2

Esta versión incorpora optimizaciones de rendimiento y una experiencia más simplificada en dotCover al centrarse en tecnologías modernas y de uso activo. Para reducir la sobrecarga y mejorar el rendimiento de la cobertura, hemos retirado la compatibilidad con funcionalidades y tecnologías de uso mínimo, según los datos actuales.

Cambios en la compatibilidad con tiempos de ejecución y marcos de trabajo

Los proyectos de Mono y Unity ya no son compatibles. La compatibilidad con Unity volverá cuando su entorno de ejecución migre a CoreCLR.

También hemos eliminado la compatibilidad de cobertura para tipos de aplicaciones heredados o que se utilizan con poca frecuencia, incluidos:

  • IIS Express
  • WCF
  • WinRT
  • Procesos externos .NET
  • Mono (todas las variantes)
  • MAUI

Estos cambios nos permiten concentrar los esfuerzos de desarrollo en las tecnologías más relevantes para la mayoría de nuestros usuarios.

Mejoras del ejecutor de la línea de comandos

Hemos modernizado el ejecutor de línea de comandos para que sea más coherente y esté alineado con los flujos de trabajo de desarrollo actuales:

  • El comando cover-dotnet se ha unificado en un único comando dotcover cover para todos los tipos de destinos. Si no se especifica ningún --targetExecutable, dotCover intentará detectar de forma automática el ejecutable dotnet adecuado.
  • Los archivos de configuración basados en XML ya no son compatibles. En cambio, puede utilizar archivos de texto sin formato con argumentos de línea de comandos, por ejemplo: dotcover cover @args.txt.
  • El ejecutor independiente dotcover.exe se ha eliminado del paquete de NuGet. El ejecutor de CLI ahora está disponible exclusivamente como herramienta global o local de .NET (requiere .NET 6 o posterior).

Actualizaciones en el filtrado de cobertura

Hemos simplificado el sistema de filtrado en dotCover para mantenerlo centrado en las opciones más útiles y ampliamente adoptadas. Para reducir la complejidad y la carga de mantenimiento, se han eliminado algunos filtros poco utilizados tanto de la interfaz de usuario como del ejecutor de CLI.

Los siguientes tipos de filtros ya no son compatibles:

  • Filtros por método y clase
  • Filtros de rutas de archivos
  • Filtros de comentarios en el código fuente

Rediseño de las pruebas continuas 2024.2.3

Hemos rediseñado el flujo de trabajo de las pruebas continuas para mejorar la usabilidad:

Antes, cada sesión de pruebas de unidad podía convertirse en una sesión de pruebas continuas, lo que resultaba confuso al ejecutar varias sesiones a la vez.

Ahora, hay una única sesión de pruebas continuas independiente. Este cambio facilita la gestión y la comprensión del flujo de trabajo de las pruebas.

Indicador de pruebas continuas 2024.2.3

dotCover tiene un nuevo icono para las pruebas continuas en ReSharper y Rider, que muestra el estado actual de las pruebas e indica si hay pruebas fallidas. Además, cuenta con varias acciones rápidas: habilitar o deshabilitar las pruebas continuas y el resaltado de código, ver los resultados de cobertura, etc.

Compatibilidad con aplicaciones MAUI

Compatibilidad con aplicaciones MAUI 2024.1

Ahora, puede realizar análisis de cobertura de pruebas de unidad y aplicaciones basadas en el marco de trabajo MAUI. Actualmente, dotCover solo es compatible con aplicaciones de escritorio WinUI orientadas a .NET 7.0+ en Windows. Esto es aplicable a la versión independiente de dotCover y a la de dotCover en ReSharper y Rider.

Mejora del resaltado de cobertura

Mejora del resaltado de cobertura 2024.1

Hemos mejorado el resaltado de código en la versión de dotCover en Rider y ReSharper: nuevos colores de fondo, un nuevo icono del medianil para líneas de código parcialmente cubiertas y otros cambios menores.

Herramientas de línea de comandos mejoradas

Herramientas de línea de comandos mejoradas 2023.3

Las herramientas de línea de comandos de dotCover se ofrecen ahora como una herramienta .NET multiplataforma dependiente del marco de trabajo.

Esta herramienta actúa como solución predeterminada para escenarios de CI/CD y sustituye a la anterior.

Acceso directo a pruebas continuas 2023.1

Ahora, es posible activar las pruebas continuas directamente con un acceso directo. Antes, esto solo se podía hacer de forma indirecta al crear o guardar el proyecto. Esta funcionalidad está disponible tanto en Visual Studio con ReSharper como en JetBrains Rider.

Compatibilidad con Windows ARM64 2022.3

Ahora, puede utilizar dotCover en CPU ARM64 en Windows. Esto es aplicable a todas las versiones: dotCover independiente, dotCover en Rider, dotCover en Visual Studio y el ejecutor de consola dotCover.

Compatibilidad con Linux ARM32 2022.3

Ahora se puede utilizar el ejecutor de consola dotCover en CPU ARM32 en Linux. Los marcos compatibles son .NET Core 3.1 y .NET 5.0-7.0.

Navegación más sencilla a las pruebas en JetBrains Rider

Navegación más sencilla a las pruebas en JetBrains Rider 2022.3

Hemos añadido la acción Show Covering Tests a los menús contextuales de dotCover tanto en el editor de código como en la ventana Unit Test Coverage. Esta acción muestra una ventana emergente que contiene todas las pruebas de cobertura. La ventana emergente también permite crear una nueva sesión de cobertura.

Instantáneas más rápidas 2022.3

Ahora dotCover solo copia los grupos y archivos de símbolos necesarios para las pruebas continuas tanto en Visual Studio como en JetBrains Rider. Esto mejora el rendimiento general de dotCover, especialmente en proyectos grandes, ya que no necesita copiar todo el directorio de trabajo. Si es necesario, puede ajustar el filtro de archivos de instantáneas en la configuración de dotCover.

Compatibilidad mejorada con Unity en JetBrains Rider 2022.3

Antes, para analizar la cobertura de las pruebas de Unity había que reiniciar Unity con la compatibilidad con la cobertura activada. A partir de esta versión, ya no es necesario reiniciar Unity y la compatibilidad con las pruebas está garantizada.

Vista rápida de los resultados de la cobertura en JetBrains Rider

Vista rápida de los resultados de la cobertura en JetBrains Rider 2022.2

Ahora puede ver rápidamente los resultados de la cobertura del archivo que tiene abierto mediante el icono del escudo. Hacer clic en el icono le lleva a las declaraciones no cubiertas.

Compatibilidad con las distribuciones de Linux basadas en musl 2022.1

Ahora el ejecutor de línea de comandos de dotCover es compatible con las versiones 3.13-3.15 de Alpine. Se admiten las CPU y los marcos de trabajo siguientes:

  • x64: .NET Core 3.1, .NET 5.0–6.0.
  • arm64: .NET 5.0–6.0.

Nuevos tipos de informes de cobertura 2022.1

Estamos añadiendo nuevos tipos de informes que incluyen información de cobertura por prueba: FileCoverageXml, DetailedFileCoverageXml, FileCoverageJson y DetailedFileCoverageJson.

Los nuevos informes tienen tres secciones:

  • Files, que incluye información sobre los archivos de código fuente cubiertos. Los informes detallados también proporcionan información sobre los rangos cubiertos por archivo.
  • TestLists, que ofrece información sobre las pruebas agregadas por conjunto de pruebas.
  • Tests, que contiene información detallada sobre cada prueba.
Exclusión de código del análisis de cobertura mediante comentarios

Exclusión de código del análisis de cobertura mediante comentarios 2022.1

Ahora puede utilizar comentarios para excluir determinadas líneas o bloques de código del análisis de cobertura. Hay varias opciones disponibles para ello:

// dotcover disable
var i = 1;
var j = 10;
// dotcover enable

/* dotcover disable */ var i = 1; /* dotcover enable */

var i = 1; // dotCover disable this line

// dotcover disable next line
var j = 100;

Para que estas opciones funcionen, debe hacer referencia al paquete JetBrains.dotCover.MSBuild NuGet. Se trata de una dependencia solo de desarrollo que no se incluirá como dependencia de tiempo de ejecución en su proyecto.

Mejoras de rendimiento 2022.1

Hemos mejorado el procesamiento posterior de los datos de cobertura. Por ejemplo, el ejecutor de consola (con IncludePerTest=true) tarda mucho menos en generar informes.

Compatibilidad con procesadores Apple Silicon 2021.3

La herramienta de línea de comandos dotCover ahora funciona en equipos con procesadores Apple Silicon. Puede proporcionar análisis de cobertura para aplicaciones .NET 6 (modo nativo) y .NET 5 (modo Rosetta 2).

Métrica de Code Vision para cobertura de código

Métrica de Code Vision para cobertura de código 2021.3

Se ha añadido una nueva métrica de Code Vision a dotCover en Rider. Por cada miembro de tipo incluido en un conjunto de pruebas, dotCover muestra el número de pruebas correctas y con errores. También puede usar una notificación de Code Vision para ejecutar, cubrir y depurar las pruebas.

Herramienta global dotCover .NET mejorada 2021.3

La herramienta global dotCover .NET ahora incluye los comandos merge y report.

Mejoras de rendimiento 2021.3

Hemos mejorado el rendimiento de la herramienta de línea de comandos dotCover y ahora los análisis de cobertura se ejecutan más rápido.

Información sobre la cobertura de las pruebas individuales en el ejecutor de la consola

Información sobre la cobertura de las pruebas individuales en el ejecutor de la consola 2021.2

El ejecutor de la consola de dotCover es capaz de recoger información de cobertura para pruebas individuales y mostrarla en los informes generados. Actualmente, solo se admiten los siguientes ejecutores de pruebas: dotnet test, dotnet vstest, vstest.console.exe. Por ejemplo: dotCover.exe dotnet --output=AppCoverageReport.xml --reportType=XML --IncludePerTestInfo=Method -- test "C:\MyProject\MainTests.csproj"

Mejora del rendimiento de la cobertura

Mejora del rendimiento de la cobertura 2021.2

  • Ahora, dotCover puede ejecutar el análisis de cobertura de las clases de prueba en paralelo dentro de una agrupación. En ciertos escenarios, esto puede dar lugar a un análisis de cobertura más rápido.
  • Ahora se pueden precargar los ejecutores de pruebas de unidades para los proyectos .NET Core y .NET (esto permite que el análisis de cobertura comience más rápidamente, ya que los ejecutores de pruebas de unidades ya están cargados en la memoria).
Actualizaciones de la compatibilidad con C# 8 y C# 9

Actualizaciones de la compatibilidad con C# y Unity 2021.2

  • Hemos mejorado la compatibilidad con C# 8.0 y C# 9.0 en el árbol de cobertura (mostrando implementaciones de interfaces predeterminadas, entre otras cosas).
  • Ahora, dotCover ofrecerá reiniciar Unity Editor cuando se cambien los filtros de cobertura.
Ajustes de filtrado actualizados en ReSharper

Ajustes de filtrado actualizados en ReSharper 2021.1

Ahora puede configurar filtros de cobertura en Visual Studio con ReSharper del mismo modo que en Rider de JetBrains.

Ejecutor de consola dotCover como herramienta global .NET

Ejecutor de consola dotCover como herramienta global .NET 2021.1

Puede instalar el ejecutor de consola dotCover como herramienta global dotnet: dotnet tool install --global JetBrains.dotCover.GlobalTools --version 2021.1.0

Utilícelo para analizar la cobertura en sus pruebas de unidades y proyectos .NET Core.