Cucumber-js: ¿Podemos obtener el nombre del escenario en cada paso de la definición de pasos?

Creado en 20 jun. 2014  ·  7Comentarios  ·  Fuente: cucumber/cucumber-js

Comentario más útil

¿Cuál es la mejor y más reciente forma de hacer esto ahora? ¿Conseguir nombres de pasos y cosas así?

Todos 7 comentarios

¿Quiere decir "Escenario: aquí está el nombre"? ¿Desea recuperarlo cuando? puede adjuntar un oyente personalizado y durante el evento BeforeScenario obtener la carga útil del escenario y llamar a getName ()

¿Cómo haces eso? Porque ambos devuelven 'indefinido'.

this.registerHandler('BeforeScenario', function (event, callback) {
  console.log(event.getPayloadItem());
  callback();
});
this.registerHandler('BeforeStep', function (event, callback) {
  console.log(event.getPayloadItem());
  callback();
});

Hola Stewart,

Prueba de nuevo con este código:

// This code is generated from coffeescript so it appears a bit more verbose than needed
this.registerHandler('BeforeScenario', function (event, callback) {
    var scenario = event.getPayloadItem('scenario');
  console.info("\n[" + (scenario.getName()) + "](" + (scenario.getUri()) + ":" + (scenario.getLine()) + ")");
  callback();
});

this.registerHandler('BeforeStep', function (event, callback) {
  var step = event.getPayloadItem('step');
  console.info("\n[" + (step.getName()) + "](" + (step.getUri()) + ":" + (step.getLine()) + ")");
  callback();
});

El truco es que necesitas proporcionar un argumento a getPayloadItem() .

Y para responder a su pregunta, debería poder almacenar las propiedades del escenario actual en ejecución en un objeto fuera del controlador BeforeScenario y luego usarlo dentro del controlador BeforeStep.
Espero que esto le indique la solución correcta.

Este es un rastreador de problemas. En su lugar, publique preguntas de soporte en el grupo cukes de google.

¿Cuál es la mejor y más reciente forma de hacer esto ahora? ¿Conseguir nombres de pasos y cosas así?

Protuberancia

¿Fue útil esta página
0 / 5 - 0 calificaciones