Cucumber-js: Problema al migrar de 1.0.0 a 1.2.0

Creado en 29 jun. 2016  ·  12Comentarios  ·  Fuente: cucumber/cucumber-js

Hola,

después de que se actualizó la versión de pepino, me encontré con un problema y no entiendo exactamente cómo solucionarlo:

los controladores de eventos de pepino adjuntos a través de registerHandler ahora se pasan al objeto asociado en lugar de un evento
getPayloadItem se eliminará en la próxima versión principal

C:dev\Analista de temas\Frontend\node_modules\cucumber\lib\cucumber\runtime\event_broadcaster.js:30
lanzar error;
^
la función acepta una devolución de llamada y devuelve una promesa

0 pases (3.30s)

[10:43:31] error de 'pepino' después de 3,51 s
[10:43:31] Error en el complemento 'gulp-webdriver'
Mensaje:
wdio salió con el código 1

¿Alguna idea? ¿Es este un problema de trago de pepino o...?

Comentario más útil

esto es pepino:

en uno de sus ganchos o pasos, colocó una devolución de llamada como un parámetro de función y luego no la llamó:
p.ej

this.Before(function(scenario, callback ) {
devolver algo();
});

así que si devuelve una promesa, simplemente deshágase de "devolución de llamada" como parámetro => función (escenario) {...}
o
simplemente use su devolución de llamada al final: devolución de llamada ()

Todos 12 comentarios

esto es pepino:

en uno de sus ganchos o pasos, colocó una devolución de llamada como un parámetro de función y luego no la llamó:
p.ej

this.Before(function(scenario, callback ) {
devolver algo();
});

así que si devuelve una promesa, simplemente deshágase de "devolución de llamada" como parámetro => función (escenario) {...}
o
simplemente use su devolución de llamada al final: devolución de llamada ()

no, no estamos haciendo nada de eso, sino que nos estamos conectando al gancho "beforeFeature" de gulp-pepino. Esto podría ser un problema. ¿supongo que gulp-cucumber usa devolución de llamada?

¿Puede proporcionar su código beforeFeature?

¿Puedes conseguir trago para imprimir un stacktrace? De esa manera, podríamos determinar dónde está el código infractor. El único cambio reciente es que registerHandler arrojará un error similar al descrito por @SkadeGlad.

Me temo, pero esto es todo el rastro de la pila que veo :(

@vytautas-pranskunas- ¿Se puede cerrar esto? Parece que se ha actualizado wdio-cucumber-framework

Si. Gracias

Usando cucumber-js 1.3.1 , recibo esta advertencia:

cucumber event handlers attached via registerHandler are now passed the associated object instead of an event
getPayloadItem will be removed in the next major release

Mis anzuelos son:

var Hooks = function() {

  this.BeforeFeature(function (event, callback) {
    Context.feature = event.getPayloadItem('feature');
    callback();
  });

  this.BeforeScenario(function (event, callback) {
    Context.scenario = event.getPayloadItem('scenario');
    callback();
  });

  this.BeforeStep(function (event, callback) {
    Context.step = event.getPayloadItem('step');
    callback();
  });

};

¿Qué necesito cambiar?

Este hilo se ha bloqueado automáticamente ya que no ha habido ninguna actividad reciente después de que se cerró. Abra un nuevo problema para los errores relacionados.

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