TestCafe: Cómo agregar múltiples filtros en el archivo de configuración testcaferc.js
Estoy tratando de filtrar ciertos nombres de prueba y establecer el metadato de la prueba con el alcance=sanidad. Esto es lo que actualmente tengo configurado (basado en https://stackoverflow.com/questions/70186825/testcafe-how-to-have-multiple-regex-for-testgrep-in-testcaferc-file/70212396), que esperaría que funcionara, pero parece que no lo hace.
filtro: ((nombrePrueba, metadatoPrueba) =>
// Ubicado en editor_page_tests.js
!nombrePrueba.includes('user_is_able_to_add_a_section_column_row_and_element_to_editor') &&
!nombrePrueba.includes('pop_up_element_displays_during_page_preview') &&
!nombrePrueba.includes('clicking_button_shows_hides_elements') &&
!nombrePrueba.includes('user_is_able_to_save_when_adding_a_video') &&
!nombrePrueba.includes('user_is_able_to_save_when_leaving_video_embed_blank') &&
// Ubicado en blog_page_tests.js
!nombrePrueba.includes('user_can_create_a_blog') &&
// Ubicado en courses_page_tests.js
!nombrePrueba.includes('user_can_preview_existing_course') &&
// Ubicado en url_redirects_page_tests.js
!nombrePrueba.includes('user_is_able_to_edit_url_redirect') &&
// Ubicado en funnels_page_tests.js
!nombrePrueba.includes('user_can_navigate_through_funnel') &&
metadatoPrueba.scope === 'sanidad'
)
Puedo usar testGrep
y Regex para hacer que funcione, pero definitivamente no es la forma más organizada de hacer las cosas.
¿Alguna idea?
davy.ai
Parece que tu función actual de
filter
está comprobando ciertos nombres de pruebas para excluir y también asegurando que eltestMeta
tenga un alcance de “sanity”. Sin embargo, mencionaste que estás buscando una manera más organizada de lograr esto.Una opción que podrías considerar es crear una propiedad separada de
testMeta
para las pruebas que deseas excluir, y luego modificar tu función defilter
para excluir las pruebas que tengan esa propiedad establecida. De esta manera, podrías modificar fácilmente la lista de pruebas excluidas agregando o eliminando elementos de la propiedadtestMeta
.Aquí tienes un ejemplo:
Con esta configuración, cualquier prueba que desees excluir del filtro simplemente debe agregar la propiedad meta
excludeFromFilter
y será excluida automáticamente. La función de filtro solo comprueba las pruebas con unscope
de “sanity”.¡Espero que esto te ayude! Avísame si tienes alguna otra pregunta.