Test Impact Analysis sólo es compatible con dd-trace>= 2.22.0 (ejecuta dd-trace --version para obtener la versión de la herramienta).
Configuración
Optimización de tests
Antes de configurar Test Impact Analysis, configura Optimización de tests para .NET. Si vas a informar de los datos a través del Agent, utiliza la versión 6.40 y versiones posteriores o 7.40 y versiones posteriores.
Activate Test Impact Analysis for the test service
You, or a user in your organization with the Intelligent Test Runner Activation (intelligent_test_runner_activation_write) permission, must activate Test Impact Analysis on the Test Service Settings page.
Ejecutar tests con Test Impact Analysis activado
Una vez completada la configuración, ejecuta tus tests como lo haces normalmente utilizando dotnet test o VSTest.Console.exe:
dd-trace ci run --dd-service=my-dotnet-app --dd-env=ci -- dotnet test
dd-trace ci run --dd-service=my-dotnet-app --dd-env=ci -- VSTest.Console.exe {test_assembly}.dll
Desactivar la omisión de tests específicos
Puedes anular el comportamiento de Test Impact Analysis y evitar que se omitan tests específicos. Estos tests se denominan tests no omitibles.
¿Por qué no se pueden omitir los tests?
Test Impact Analysis utiliza datos de cobertura de código para determinar si deben omitirse tests o no. En algunos casos, estos datos pueden no ser suficientes para tomar esta determinación.
Algunos ejemplos son:
Tests que leen datos de archivos de texto.
Tests que interactúan con APIs ajenas al código que se está testeando (como las APIs REST remotas).
Designar los tests como no omitibles garantiza que Test Impact Analysis los ejecute independientemente de los datos de cobertura.
Marcar tests como no omitibles
Caso de test individual
Añade un TraitAttribute de XUnit con la clave datadog_itr_unskippable a tu caso de test para marcarlo como no omitible.
Añade un PropertyAttribute de NUnit con la clave datadog_itr_unskippable y un valor no nulo (por ejemplo, string.Empty) a tu caso de test para marcarlo como no omitible.
Añade un PropertyAttribute de NUnit con la clave datadog_itr_unskippable y un valor no nulo (por ejemplo, string.Empty) a tu conjunto de test para marcarlo como no omitible.
Si un conjunto está marcado como no omitible, ninguno de los casos de test de ese conjunto puede ser omitido por Test Impact Analysis.