Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
Estas características requieren la instalación de paquetes NuGet adicionales, como se describe en cada sección.
Sugerencia
Al usar Microsoft.Testing.Platform.MSBuild (incluido transitivamente por MSTest, NUnit y ejecutores xUnit), estas extensiones se registran automáticamente al instalar sus paquetes NuGet, no se necesitan cambios de código. El registro manual especificado en este artículo solo es necesario si ha deshabilitado el punto de entrada generado automáticamente estableciendo <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>.
Informar de los nombres de archivo
Cada extensión de informe escribe su archivo en el directorio de resultados de las pruebas, que puede establecer con la opción --results-directory. Para invalidar el nombre, use la opción coincidente --report-*-filename . Cada sección de informe muestra el nombre predeterminado de ese informe.
Un nombre de archivo puede incluir una ruta de acceso relativa que permanece dentro del directorio de resultados de pruebas y puede usar los siguientes elementos de reemplazo (marcadores de posición):
| Marcador de posición | Description |
|---|---|
{asm} |
Nombre del ensamblado de entrada, o unknown cuando no esté disponible. |
{tfm} |
Moniker del marco de trabajo de destino detectado en tiempo de ejecución, como net9.0. |
{arch} |
Arquitectura de procesos, como x64, x86o arm64. |
{pname} |
Nombre del proceso. |
{pid} |
Id. de proceso. |
{time} |
Marca de tiempo de alta precisión. |
Por ejemplo, --report-trx-filename "{asm}_{tfm}_{arch}.trx" reproduce el nombre TRX predeterminado.
Nota:
Los nombres de los marcadores de posición distinguen entre mayúsculas y minúsculas y se escriben en minúsculas. MTP admite marcadores de posición en los nombres de archivo de los informes a partir de la versión 2.3.0.
Consolidación de informes
A partir de MTP 2.4.0, MTP posprocesa automáticamente los artefactos de informes después de que una invocación de dotnet test ejecute varios módulos de prueba o después de que la función de reintento ejecute varios intentos. La característica es experimental en MTP 2.4.0.
Las extensiones TRX, JUnit, CTRF y HTML agrupan los artefactos compatibles por tipo de informe y generan un informe consolidado en el subdirectorio merged del directorio de resultados de las pruebas. La consolidación de CTRF combina los resultados de los módulos y consolida los reintentos en el resultado final de la prueba junto con el historial de reintentos. La consolidación html crea un resumen combinado y conserva los informes originales por proceso.
Para las extensiones de informe personalizadas, la API experimental IArtifactPostProcessor expone modos independientes TestModules y RetryAttempts de procesamiento. Para obtener más información, consulte Las IArtifactPostProcessor extensiones.
informes de prueba de Visual Studio (TRX)
El Visual Studio archivo de resultados de pruebas (o TRX) es el formato predeterminado para publicar resultados de pruebas. Esta extensión requiere el paquete NuGet Microsoft.Testing.Extensions.TrxReport .
Registro manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddTrxReportProvider();
Nota:
Al usar el registro manual, registre el proveedor de informes TRX por última vez. La aplicación actual depende del orden de registro, por lo que al registrarla después de todas las demás extensiones se garantiza que capturen todos los datos de prueba.
Nota:
Disponible en MTP a partir de la versión 1.9.0, el informe TRX incluye el campo de prueba Description .
Nota:
Disponible en MTP a partir de la versión 2.3.0, los resultados de TRX se transfieren al disco a medida que avanza la ejecución. Si el host de pruebas se bloquea, el archivo TRX conserva los resultados recopilados antes de que se produjera el bloqueo.
Options
| Opción | Description |
|---|---|
--report-trx |
Genera el informe TRX. |
--report-trx-filename |
Nombre del informe TRX generado. A partir de MTP 2.3.0, el valor predeterminado es el formulario determinista {asm}_{tfm}_{arch}.trx ; antes de MTP 2.3.0, el valor predeterminado era <UserName>_<MachineName>_<yyyy-MM-dd_HH_mm_ss.fffffff>.trx. Para personalizar el nombre, consulte Nombres de archivo de informe. |
El informe se guarda dentro de la carpeta TestResults predeterminada que se puede especificar a través del argumento de --results-directory la línea de comandos.
Informes HTML
El informe HTML crea un archivo HTML interactivo e independiente para una sesión de prueba. Esta extensión requiere el paquete NuGet Microsoft.Testing.Extensions.HtmlReport.
Nota:
Disponible en MTP a partir de la versión 2.3.0. Esta extensión es experimental y sus opciones y formato de salida pueden cambiar en una versión futura.
Registro manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddHtmlReportProvider();
Options
| Opción | Description |
|---|---|
--report-html |
Genera el informe HTML. |
--report-html-filename |
Nombre del informe HTML generado. El valor debe terminar con .html. El valor predeterminado es {asm}_{tfm}_{arch}.html. Para personalizar el nombre, consulte Nombres de archivo de informe. Se requiere --report-html. |
Informes de JUnit
El informe JUnit crea un archivo XML compatible con JUnit para una sesión de prueba. Esta extensión requiere el paquete NuGet Microsoft.Testing.Extensions.JUnitReport.
Nota:
Disponible en MTP a partir de la versión 2.3.0. Esta extensión es experimental y sus opciones y formato de salida pueden cambiar en una versión futura.
A partir de MSTest.Sdk 4.3, habilite esta extensión con <EnableMicrosoftTestingExtensionsJUnitReport>true</EnableMicrosoftTestingExtensionsJUnitReport>. La extensión no forma parte de los perfiles Default o AllMicrosoft de MSTest.Sdk.
Registro manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddJUnitReportProvider();
Options
| Opción | Description |
|---|---|
--report-junit |
Genera el informe XML de JUnit. |
--report-junit-filename |
Nombre del informe XML de JUnit generado. El valor debe terminar con .xml. El valor predeterminado es {asm}_{tfm}_{arch}.xml. Para personalizar el nombre, consulte Nombres de archivo de informe. Se requiere --report-junit. |
Informes CTRF
El informe CTRF crea un archivo JSON que usa el formato de informe de prueba común para una sesión de prueba. Esta extensión requiere el paquete NuGet Microsoft.Testing.Extensions.CtrfReport.
Nota:
Disponible en MTP a partir de la versión 2.3.0. Esta extensión es experimental y sus opciones y formato de salida pueden cambiar en una versión futura.
Registro manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddCtrfReportProvider();
Options
| Opción | Description |
|---|---|
--report-ctrf |
Genera el informe JSON de CTRF. |
--report-ctrf-filename |
Nombre del informe JSON de CTRF generado. El valor debe terminar con .json. El valor predeterminado es <UserName>_<MachineName>_<assembly>_<tfm>_<timestamp>.ctrf.json. Para personalizar el nombre, consulte Nombres de archivo de informe. Se requiere --report-ctrf. |
A partir de MSTest 4.4, los resultados de CTRF para las pruebas reintentadas incluyen los campos retries y retryAttempts. Cuando una prueba se supera después de un intento erróneo anterior, su resultado también incluye flaky: true. El resumen de la terminal identifica las pruebas inestables y reintentadas. Los informes TRX y JUnit mantienen un resultado final por prueba en lugar de grabar cada intento.
informes de Azure DevOps
Azure DevOps ofrece un plugin de reporte que mejora la ejecución de pruebas para desarrolladores que alojan su código en GitHub, pero realizan el compilado en agentes de compilación de Azure DevOps. Agrega información adicional a los errores para mostrar el error directamente en GitHub PR.
anotación 
Esta extensión requiere el paquete NuGet Microsoft.Testing.Extensions.AzureDevOpsReport .
Registro manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.TestHost.AddAzureDevOpsProvider();
Options
| Opción | Versión de MTP | Description |
|---|---|---|
--report-azdo |
1.9.0 | Habilita el generador de informes Azure DevOps. Los errores y advertencias se escriben en la salida en un formato que Azure DevOps entiende. |
--report-azdo-severity |
1.9.0 | Gravedad que se debe aplicar a los eventos notificados. Los valores válidos son error (valor predeterminado) y warning. |
--report-azdo-groups |
2.4.0 | Habilita o deshabilita los grupos de registros por ensamblado. Cuando está habilitada, la salida de cada ensamblado de prueba aparece en una sección contraíble del registro de Azure Pipelines. Los valores válidos son on y off. Las compilaciones preliminares de MTP 2.4.0 usan off de forma predeterminada; la versión estable de MTP 2.4.0 usa on de forma predeterminada. Se requiere --report-azdo. |
--report-azdo-annotations |
2.4.0 | Habilita o deshabilita las anotaciones para las pruebas con errores y omitidas. Los valores válidos son on (valor predeterminado) y off. Se requiere --report-azdo. |
--report-azdo-flaky-history |
2.3.0 | Consulta el historial de resultados de pruebas de Azure DevOps de los últimos N días (1-90) y anota los fallos notificados con información contextual sobre la inestabilidad. Se requiere --report-azdo. |
--report-azdo-demote-known-flaky |
2.3.0 | Rebaja los errores lo suficientemente intermitentes en la ventana de historial de Azure DevOps (el umbral predeterminado es del 25 %) de errores a advertencias. Requiere --report-azdo y --report-azdo-flaky-history. |
--report-azdo-quarantine-file |
2.3.0 | Ruta a un archivo de texto que enumera los nombres completos de las pruebas en cuarentena o los patrones globales. Los errores coincidentes se notifican como advertencias. Se requiere --report-azdo. |
--report-azdo-summary |
2.3.0 | Escribe un resumen del trabajo en Markdown al final de la ejecución de pruebas y lo sube a través de ##vso[task.uploadsummary]. Un argumento de ruta de acceso de archivo opcional invalida la ubicación predeterminada ({testResultsDir}/azdo-summary-{tfm}.md). Se requiere --report-azdo. |
--report-azdo-stackframe-filter |
2.3.0 | Añade patrones de expresiones regulares, que se comparan con el prefijo de tipo completo de cada marco de pila, y que se omiten cuando la extensión localiza el punto de llamada del usuario para anotarlo. La opción es repetible, hasta 16 patrones, y cada patrón se compila con un tiempo de espera de coincidencia de 500 ms. Estos patrones se añaden a los prefijos de implementación de aserciones de MSTest integrados en la extensión. Se requiere --report-azdo. |
--report-azdo-upload-artifacts |
2.3.0 | Carga archivos de resultados de prueba o agrega etiquetas de compilación a Azure DevOps. Los valores válidos son off (valor predeterminado), tags-only, filesy all. |
--report-azdo-upload-artifact-include |
2.3.0 | Incluye archivos en la carga de artefactos de Azure DevOps mediante patrones glob relativos al directorio de resultados de las pruebas. Tiene como valor predeterminado **/*. Requiere --report-azdo-upload-artifacts que sea un valor distinto de off. |
--report-azdo-upload-artifact-exclude |
2.3.0 | Excluye archivos de la carga de artefactos de Azure DevOps mediante patrones glob relativos al directorio de resultados de las pruebas. Requiere --report-azdo-upload-artifacts que sea un valor distinto de off. |
--report-azdo-upload-artifact-name |
2.3.0 | Invalida el nombre del contenedor de artefactos de Azure DevOps. Tiene como valor predeterminado TestResults_{assemblyName}_{tfm}. Requiere --report-azdo-upload-artifacts que sea un valor distinto de off. |
--publish-azdo-test-results |
2.3.0 | Publica los resultados de las pruebas en directo en la pestaña Azure DevOps Tests. |
--publish-azdo-run-name |
2.3.0 | Establece un nombre de ejecución de prueba de Azure DevOps personalizado para la publicación de resultados de pruebas en directo. Se requiere --publish-azdo-test-results. |
Warning
No habilite grupos cuando se ejecuten varios ensamblados de prueba en paralelo. Azure DevOps ##[group] y ##[endgroup] los comandos de formato son secuenciales y anónimos. La salida de ensamblados concurrentes puede entremezclar líneas, provocar un anidamiento incorrecto de grupos y asignar líneas al ensamblado incorrecto. Si usa una compilación preliminar de MTP 2.4.0, pase --report-azdo-groups off para deshabilitar los grupos. La versión estable de MTP 2.4.0 deshabilita los grupos de forma predeterminada. Use --report-azdo-groups on solo para una única compilación o para una ejecución serializada de la compilación.
Nota:
La columna versión de MTP enumera la primera versión de MTP que contiene cada opción. La extensión Azure DevOps se convirtió en estable en MTP 1.9.0 con --report-azdo y --report-azdo-severity; las opciones restantes se agregaron en MTP 2.3.0 o 2.4.0.
La extensión detecta automáticamente que se ejecuta en el entorno de integración continua (CI) comprobando la variable de TF_BUILD entorno.
A partir de MTP 2.4.0, Azure DevOps Markdown resume los resultados agregados en todos los módulos de prueba de una dotnet test invocación. Al habilitar también la cobertura de código, el resumen incluye recuentos cubiertos y totales, porcentajes, resultados de umbral y un indicador cuando los datos de cobertura son parciales.
informes de Acciones de GitHub
El informe de Acciones de GitHub emite comandos de flujo de trabajo nativos de Acciones de GitHub para que las ejecuciones de pruebas ofrezcan una experiencia de primera clase en el ejecutor: grupos de registros por ensamblado, anotaciones de pruebas fallidas y omitidas (que aparecen en la pestaña Anotaciones del flujo de trabajo y, cuando se resuelve la ubicación de origen, en el diff de Archivos modificados de la solicitud de extracción), un resumen del trabajo en Markdown anexado al archivo al que hace referencia GITHUB_STEP_SUMMARY, y avisos de pruebas lentas.
Esta extensión requiere el paquete NuGet Microsoft.Testing.Extensions.GitHubActionsReport.
La extensión solo se activa cuando la ejecución se realiza en Acciones de GitHub (la variable de entorno GITHUB_ACTIONS es true) y la opción --report-gh está activada; de lo contrario, no hace nada. Cuando está activa, cada característica está habilitada de forma predeterminada y se puede desactivar individualmente con su --report-gh-* opción.
Importante
La --report-gh opción pertenece a Microsoft.Testing.Extensions.GitHubActionsReport. El paquete GitHubActionsTestLogger proporciona una opción diferente, --report-github. Las opciones no son alias y solo funcionan cuando el proyecto de prueba registra el paquete que posee la opción.
Nota:
La extensión está disponible a partir de MTP 2.3.0. A partir de MTP 2.4.0, sus puntos de entrada públicos ya no son experimentales.
Registro manual
var builder = await TestApplication.CreateBuilderAsync(args);
builder.AddGitHubActionsProvider();
Options
| Opción | Versión de MTP | Description |
|---|---|---|
--report-gh |
2.3.0 | Habilita el generador de informes de Acciones de GitHub para que las ejecuciones de pruebas emitan comandos de flujo de trabajo. Requiere que la ejecución esté en Acciones de GitHub. |
--report-gh-groups |
2.3.0 | Habilita o deshabilita los grupos de registros por ensamblado. Los valores válidos son on (valor predeterminado) y off. Se requiere --report-gh. |
--report-gh-annotations |
2.3.0 | Habilita o deshabilita las anotaciones para las pruebas con errores y omitidas. Los valores válidos son on (valor predeterminado) y off. Se requiere --report-gh. |
--report-gh-step-summary |
2.3.0 | Controla si la extensión escribe un resumen de trabajo de Markdown en el archivo al que hace GITHUB_STEP_SUMMARYreferencia . Los valores válidos son on (valor predeterminado), offy, a partir de MTP 2.4.0, on-failure. Se requiere --report-gh. |
--report-gh-step-summary-sections |
2.4.0 | Selecciona el contenido de resumen. Los valores válidos son test-results, slow-tests, coveragey all (valor predeterminado). Requiere --report-gh y un modo de resumen distinto de off. |
--report-gh-slow-test-notices |
2.3.0 | Habilita o deshabilita los avisos de pruebas lentas. Los valores válidos son on (valor predeterminado) y off. Se requiere --report-gh. |
--report-gh-slow-test-threshold |
2.3.0 | La duración durante la que puede ejecutarse una prueba antes de que se emita un aviso de prueba lenta. Acepta un número mínimo de segundos o un valor con un sufijo de unidad como 90s, 2mo 1.5h. El valor predeterminado es 60s. Se requiere --report-gh. |
A partir de MTP 2.4.0, Acciones de GitHub Markdown resume los resultados agregados en todos los módulos de prueba de una dotnet test invocación. Al habilitar también la cobertura de código, seleccione coverage o all para incluir recuentos cubiertos y totales, porcentajes, resultados de umbral y un indicador cuando los datos de cobertura sean parciales.