Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Ability to fail tests if minimum coverage not met

Abierto
#160 0 comentarios 3 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
35/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
csharp

Línea de trabajo

El issue identifica la extensión de cobertura, la opción de línea de comandos, la propiedad de MSBuild y TestingPlatformCommandLineArguments como los puntos de entrada relevantes; empieza por rastrear cómo se aceptan las configuraciones de cobertura y cómo se informa del resultado de la compilación. Se considerará terminado cuando se pueda proporcionar un umbral configurable en las formas mostradas para la línea de comandos y para cada proyecto de pruebas, y las compilaciones fallen cuando la cobertura esté por debajo de él.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

enhancement

Summary

Add the ability to fail the build if a minimum level of coverage is not achieved.

Background and Motivation

Playing around with an existing xunit v3 project to have it use Microsoft Testing Platform, and as part of that work to maintain code coverage I've needed to drop coverlet to instead use the coverage extension.

A missing feature by comparison compared to coverlet is the ability to fail the build if a minimum code threshold isn't met.

In coverlet this is achieved via an MSBuild property in one of two formats:

<!-- Fail if line, method or branch coverage is less than 70 -->
<Threshold>70</Threshold>
<!-- Fail if line, method or branch coverage is less than 70, 75 and 50 respectively -->
<Threshold>70,75,50</Threshold>

Proposed Feature

Add a new feature that can be controlled through the command-line, for example:

--coverage-threshold 75

This could then be customised on a per-test-project basis:

<TestingPlatformCommandLineArguments>$(TestingPlatformCommandLineArguments) --coverage-threshold 42</TestingPlatformCommandLineArguments>

Alternative Designs

None proposed.

Lenguaje dominante
C#
Estrellas
125
Forks
17
Merge medio
1 h 15 min
PR fusionados (30 d)
2

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/codecoverage

Todos los issues de microsoft/codecoverage

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.