Test Impact Analysis es compatible en dd-java-agent >= 1.27.0.
Se admiten los siguientes marcos de tests:
JUnit >= 4.10 y >= 5.3
TestNG >= 6.4
Spock >= 2.0
Cucumber >= 5.4.0
Karate >= 1.0.0
Scalatest >= 3.0.8
Configuración
Test Optimization
Antes de configurar Test Impact Analysis, configura Test Optimization para Java. Si informas de los datos a través del Agent, utiliza v6.40 y posteriores o v7.40 y 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 finalizada la configuración, ejecuta los tests como lo haces normalmente:
DD_CIVISIBILITY_ENABLED=true\
DD_ENV=ci \
DD_SERVICE=my-java-app \
GRADLE_OPTS=-javaagent:$DD_TRACER_FOLDER/dd-java-agent.jar \
./gradlew clean test
DD_CIVISIBILITY_ENABLED=true\
DD_ENV=ci \
DD_SERVICE=my-java-app \
JAVA_TOOL_OPTIONS=-javaagent:$DD_TRACER_FOLDER/dd-java-agent.jar \
// run your tests
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é hacer que los tests sean no omitibles?
Test Impact Analysis utiliza datos de cobertura del 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 API ajenas al código que se está probando (como las API REST remotas).
Designar los tests como no omitibles garantiza que Test Impact Analysis los ejecute independientemente de los datos de cobertura.
Compatibilidad
Los tests no omitibles son compatibles con las siguientes versiones y marcos de tests:
JUnit >= 4.10 y >= 5.3
TestNG >= 6.4
Spock >= 2.2
Cucumber >= 5.4.0
Scalatest >= 3.0.8
Hacer que los tests sean no omitible
Caso de test individual
Añade una JUnit Tag con el valor datadog_itr_unskippable a tu caso de test para marcarlo como no omitible.
Añade una JUnit Category con el valor datadog_itr_unskippable a tu caso de test para marcarlo como no omitible.
No es necesario crear el datadog_itr_unskippable para cada caso de test o conjunto de tests, y una categoría es suficiente para todo el proyecto.
Añade una JUnit Tag con el valor datadog_itr_unskippable a tu caso de test para marcarlo como no omitible.
No es necesario crear el datadog_itr_unskippable para cada caso de test o conjunto de tests, y una categoría es suficiente para todo el proyecto.
Si un conjunto está marcado como no omitible, ninguno de los casos de test de ese conjunto puede ser omitido por Test Impact Analysis.