Sincroniza los archivos .feature desde CI

Tras el checkout, un job en la rama principal lee tus archivos .feature y hace que los casos coincidan con ellos: un escenario nuevo crea un caso, un escenario modificado actualiza su caso y un escenario eliminado lo archiva. Cambias un escenario en su archivo mediante un pull request, y su caso se actualiza cuando el cambio llega a la rama principal.

El pipeline se autentica con un token de aplicación de la tarjeta de Cucumber. La sincronización necesita un plan de pago, igual que el envío de resultados desde CI. Los pasos usan solo palabras clave en inglés: un archivo en otro idioma detiene la sincronización.

GitHub Actions
- name: Sync the feature files to Probara
  run: npx @probara/cli sync gherkin "features/**/*.feature"
  env:
    PROBARA_API_TOKEN: ${{ secrets.PROBARA_API_TOKEN }}
    PROBARA_PROJECT: ${{ vars.PROBARA_PROJECT }}

Los renombrados y los movimientos conservan el caso

Un escenario conserva su caso al renombrarlo, al renombrar su Feature o al mover su archivo dentro de la misma sincronización, siempre que sus pasos, su Background y sus Examples no cambien. Para renombrar un escenario y cambiar sus pasos en el mismo commit, vincúlalo a su caso con una etiqueta @probara:SHOP-12.

Un escenario eliminado se archiva, nunca se borra, y queda en la Papelera. La sincronización solo archiva los casos de los archivos que coinciden con sus argumentos, así que una carpeta que sincroniza otro job conserva sus casos.

Qué hace la sincronización
En el repositorioEn Probara
Renombrar o mover, mismos pasos, misma sincronizaciónMismo caso, con su nueva clave
Cambiar los pasos y renombrar, con una etiqueta @probaraMismo caso, conservado por esa etiqueta
Eliminar un escenario, archivo en los argumentosCaso archivado, en la Papelera
Eliminar un escenario, archivo fuera de los argumentosCaso sin tocar

Los resultados de Cucumber llegan paso a paso

Añade el reporter de Probara a cucumber.js y cada escenario se envía al final de la ejecución, al caso al que se sincronizó: cada paso con su palabra clave, su estado, su duración, su error y su Doc String o su Data Table. Cada fila de un Scenario Outline es un resultado propio, con los valores de la fila como parámetros.

Los archivos que un paso adjunta con this.attach, this.log o this.link se suben con su resultado. Sincroniza primero en la rama principal, porque un resultado encuentra su caso por la clave de su escenario.

Probara se ha probado con cucumber-js 13. Para Cucumber-JVM, playwright-bdd u otra herramienta que escriba JSON de Cucumber, probara import cucumber envía el informe después de la ejecución, y no envía adjuntos.

cucumber.js
module.exports = {
  default: {
    format: ['@probara/cucumber-reporter'],
    formatOptions: { probara: { projectId: 'SHOP' } },
  },
};
GitHub Actions
- name: Run the Cucumber scenarios
  run: npx cucumber-js
  env:
    PROBARA_API_TOKEN: ${{ secrets.PROBARA_API_TOKEN }}

El escenario sigue siendo de solo lectura en Probara

El título, la descripción, los pasos, la precondición y las etiquetas que le da el archivo quedan bloqueados en Probara. El caso muestra una insignia Sincronizado desde Git con la ruta y la línea de su escenario, enlazada al archivo cuando la sincronización puede construir el enlace desde tu CI o desde una plantilla de enlace que le pasas.

Lo demás sigue siendo editable: responsable, prioridad, campos personalizados distintos de la precondición, defectos, enlaces de incidencia, comentarios, pertenencia a planes y ejecuciones, y las etiquetas que añades tú. La revisión no se aplica a los casos sincronizados, porque el pull request que cambia el archivo es su revisión.

Qué bloquea un caso sincronizado
Título, descripción y pasos
Solo lectura en Probara
Precondición y etiquetas del archivo
Solo lectura en Probara
Responsable, prioridad y campos personalizados
Editables en Probara
Defectos, enlaces de incidencia y comentarios
Editables en Probara
Planes, ejecuciones y tus propias etiquetas
Editables en Probara

Sincroniza tus archivos .feature con Probara

Crea tu organización, crea un token de aplicación desde la tarjeta de Cucumber y añade la sincronización y el reporter a tu pipeline. Toda organización nueva empieza con una prueba de Pro de 14 días, sin tarjeta de crédito.