Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Tests end-to-end en entornos complejos con test...

Tests end-to-end en entornos complejos con testcontainers

Jesús Espino

August 04, 2024
Tweet

More Decks by Jesús Espino

Other Decks in Programming

Transcript

  1. La pirámide de los tests Manual Cypress/Playwright/… Selenium Código que

    llama a APIs Tal vez mocks Código que llama a una función mocks
  2. Ejemplo de arquitectura Store API Service D Service C Service

    B Service A UI Manual Cypress/Playwright/… Selenium Código que llama a APIs Tal vez mocks Código que llama a una función mocks
  3. Collaboration for Mission-Critical Work 800,000+ Downloads & Workspaces 4,000+ Open

    Source Contributors 25,000+ GitHub Stars Check it out at mattermost.com 20 Languages / 1.5M+ Words Translated
  4. El problema 1. Los plugins extendien el comportamiento existente 2.

    Por naturaleza interactúan con el servicio 3. Frequentemente se integran con terceros 4. Modifican la interfaz 5. Para que la API de plugins funcione debe haber un servidor funcionando
  5. Unit test sin mocking 1. Muy rápido de ejecutar 2.

    Muy rápido de programar 3. No testeas casi nada de lo importante
  6. Ejecución manual del servicio 1. Setup manual necesario 2. Dependencia

    entre los tests 3. Rápido de programar 4. Lento de ejecutar 5. Testeas todo lo necesario
  7. Ejecución automática del servicio 1. Dependencia entre los tests 2.

    Rápido de programar 3. Lento de ejecutar 4. Testeas todo lo necesario 5. El servicio tiene que soportar ser ejecutado como código 6. Cambios en el código pueden afectar el setup de los tests
  8. Testcontainers 1. Test independientes 2. Rápido de programar 3. Lento

    de ejecutar 4. Testeas todo lo necesario 5. Solo dependes de docker y las imágenes que de docker que uses
  9. Conclusiones 1. Testcontainers es un gamechanger 2. Playwright y testcontainers

    es un gran combo 3. E2E es necesario, pero no es suficiente