Configuración de Allure xUnit.net
Esta página describe las opciones de configuración que afectan el comportamiento de Allure xUnit.net.
Por defecto, Allure xUnit.net intenta leer el archivo allureConfig.json
en el mismo directorio donde se encuentra el ensamblado de pruebas. Para asegurarte de que el archivo esté presente allí, edita las propiedades del archivo en tu IDE o manualmente en tu archivo *.csproj
y establece el CopyToOutputDirectory
del ítem correspondiente a Always
o PreserveNewest
. Por ejemplo:
<Project Sdk="Microsoft.NET.Sdk">
<!-- ... -->
<ItemGroup>
<None Update="specflow.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project>
Alternativamente, usa la variable de entorno ALLURE_CONFIG
para especificar una ruta relativa o absoluta del archivo de configuración.
allure.directory
Ruta al directorio donde Allure xUnit.net guardará los resultados de las pruebas, consulta Cómo funciona. Si el directorio no existe, será creado. El valor predeterminado es allure-results
.
Ten en cuenta que la ruta se trata como relativa al directorio de salida de compilación del proyecto. Al compilar y ejecutar las pruebas desde un IDE, esto suele ser diferente de la carpeta de la solución. Puede que sea necesario usar múltiples elementos ../
si deseas poner los resultados de las pruebas en un directorio dentro de la carpeta de la solución.
{
"allure": {
"directory": "../../../../../allure-results"
}
}
allure.links
Lista de patrones que se pueden usar para construir URLs completas a partir de identificadores cortos.
Cada patrón debe ser una cadena que contenga un marcador de posición rodeado por llaves, por ejemplo: {issue}
. Al procesar un enlace, Allure xUnit.net selecciona el patrón cuyo marcador de posición coincida con el tipo de enlace (según lo especificado usando los argumentos Link
o [AllureLink]
). Luego, el marcador de posición es reemplazado por el identificador corto.
Por ejemplo, con la configuración a continuación, el enlace BUG-123
de tipo issue
será traducido a https://issues.example.com/BUG-123
.
{
"allure": {
"links": [
"https://issues.example.com/{issue}",
"https://tms.example.com/{tms}",
"https://jira.example.com/browse/{jira}"
]
}
}
allure.xunitRunnerReporter
El reportero secundario que debe usarse junto con Allure xUnit.net.
Los valores permitidos son:
auto
(el valor predeterminado) — selecciona un reportero secundario automáticamente, de manera similar a cómo un corredor de pruebas selecciona un reportero. Esto solo seleccionará entre los reporteros de xUnit.net que estén “habilitados ambientalmente”.Si no hay reporteros habilitados ambientalmente, excepto Allure xUnit.net, este valor es idéntico a
none
.Si solo hay un reportero habilitado ambientalmente, excepto Allure xUnit.net, este valor es idéntico a especificar su interruptor de reportero explícitamente.
En todos los demás casos, Allure xUnit.net seleccionará uno de los reporteros habilitados ambientalmente, pero el algoritmo de esta selección no está determinado.
none
— no usar un reportero secundario.el interruptor de reportero del reportero, por ejemplo,
teamcity
.el nombre completamente calificado de la clase del reportero, por ejemplo,
Xunit.Runner.Reporters.TeamCityReporter, xunit.runner.reporters.netcoreapp10, Version=2.5.2.0, Culture=neutral, PublicKeyToken=8d05b1bb7a6fdb6c
. Ten en cuenta que el nombre completamente calificado suele ser dependiente del marco y cambia con cada nueva versión del reportero. Debido a esto, no se recomienda usar el nombre completamente calificado en la mayoría de los casos. Sin embargo, puede ser útil para proyectos grandes, donde la selección por el interruptor de reportero ralentizaría significativamente el inicio.
{
"allure": {
"xunitRunnerReporter": "teamcity"
}
}
allure.failExceptions
Una lista de tipos de excepciones que, cuando se lanzan desde un paso, deberían hacer que tenga el estado Fallido. En caso de cualquier otra excepción, se asigna el estado Roto al paso.
::: notes Actualmente, la configuración solo afecta a los estados de pasos individuales de las pruebas. Para el estado de una prueba en su conjunto, consulta Distinguish between test statuses. :::
La lista predeterminada incluye la clase Xunit.Sdk.XunitException
y la interfaz Xunit.Sdk.IAssertionException
. La configuración, si no está vacía, reemplaza la lista predeterminada. Al buscar coincidencias, Allure xUnit.net utiliza no solo el nombre completo de la clase de excepción, sino también todas sus interfaces y clases base.
Con la configuración de ejemplo a continuación, un paso se considerará fallido si lanza Xunit.Sdk.IAssertionException
, MyNamespace.MyCustomException
o cualquier cosa que derive de ellas. Al mismo tiempo, cualquier otra excepción hará que el paso sea roto.
{
"allure": {
"failExceptions": ["Xunit.Sdk.IAssertionException", "MyNamespace.MyCustomException"]
}
}