Este producto no es compatible con el sitio Datadog seleccionado. ().
Compatibilidad
Test Impact Analysis solo es compatible con las siguientes versiones y marcos de test:
datadog-ci >= 1.0
Ruby >= 2.7
JRuby no es compatible.
rspec >= 3.0.0
minitest >= 5.0.0
cucumber >= 3.0.0
Configuración
Optimización de tests
Antes de configurar Test Impact Analysis, configura Test Optimization para Ruby. Si informas 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.
Desactivación de 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 API ajenas al código que se está probando (como las API REST remotas).
Tests que ejecutan procesos externos
Tests que dependen del estado global compartido (por ejemplo, cachés creadas por un test diferente o proceso)
Tests que utilizan procesos bifurcados (la cobertura de código por test solo recopila la cobertura del proceso principal)
Tests de integración que utilizan capybara o selenium-webdriver
Designar los tests como no omitibles garantiza que Test Impact Analysis los ejecute independientemente de los datos de cobertura.
Marcar tests como no omitibles
Para garantizar que no se omitan las pruebas RSpec de un bloque específico, añada la clave de metadatos datadog_itr_unskippable con el valor true a cualquier bloque describe, context o it. Esto marca todas las pruebas de ese bloque como no saltables.
# mark the whole file as unskippableRSpec.describeMyClass,datadog_itr_unskippable:truedodescribe"#my_method"docontext"when called without arguments"doit"works"doendendendend# mark one test as unskippableRSpec.describeMyClassdodescribe"#my_method"docontext"when called without arguments"doit"works",datadog_itr_unskippable:truedoendendendend# mark specific block as unskippableRSpec.describeMyClassdodescribe"#my_method",datadog_itr_unskippable:truedocontext"when called without arguments"doit"works"doendendendend
Para marcar todo un archivo de características como no saltable en Cucumber, utilice @datadog_itr_unskippable etiquetar . Esto evita que Test Impact Analysis omita cualquiera de los escenarios definidos en ese archivo de características.
Para que solo ciertos escenarios no se puedan omitir, aplica esta etiqueta (tag) directamente al escenario deseado.
Para hacer que toda una subclase de Minitest sea imposible de saltar, utilice el método datadog_itr_unskippable. Si desea marcar pruebas específicas dentro de la subclase como no saltables, proporcione los nombres de estos métodos de prueba como argumentos a la llamada al método datadog_itr_unskippable.
# mark the whole class unskippableclassMyTest<Minitest::Testdatadog_itr_unskippabledeftest_my_methodendend# here only test1 and test2 are unskippab;eclassMyTest<Minitest::Testdatadog_itr_unskippable"test1","test2"deftest1enddeftest2enddeftest3endend
Desactivación temporal de Test Impact Analysis
Test Impact Analysis puede desactivarse localmente configurando la variable de entorno DD_CIVISIBILITY_ITR_ENABLED como false o 0.
DD_CIVISIBILITY_ITR_ENABLED (opcional)
Habilita las funciones de cobertura y omisión de tests de Test Impact Analysis Por defecto: (true)