Привет,
после обновления огуречной версии я столкнулся с проблемой и не совсем понимаю, как ее исправить:
обработчикам событий огурца, подключенным через registerHandler, теперь передается связанный объект вместо события.
getPayloadItem будет удален в следующем основном выпуске.
C:dev\Topic Analyst\Frontend\node_modules\cucumber\lib\cucumber\runtime\event_broadcaster.js:30
выбросить ошибку;
^
функция принимает обратный вызов и возвращает обещание
0 прохождение (3,30 с)
[10:43:31] 'огурец' выдал ошибку через 3,51 с
[10:43:31] Ошибка в плагине 'gulp-webdriver'
Сообщение:
wdio завершился с кодом 1
Любая идея? Это проблема глотка-огурца или...?
это огурец:
в одном из ваших хуков или шагов вы поместили обратный вызов в качестве параметра функции, а затем не вызвали его:
например
this.Before (функция (сценарий, обратный вызов ) {
вернуть что-нибудь();
});
поэтому, если вы возвращаете обещание, просто избавьтесь от «обратного вызова» в качестве параметра => функция (сценарий) {...}
или
просто используйте свой обратный вызов в конце: callback()
нет, мы не делаем ничего подобного, вместо этого мы подключаемся к хуку gulp-cucumber «beforeFeature». Это может быть проблемой. gulp-cucumber использует обратный вызов, я полагаю?
Можете ли вы предоставить свой код beforeFeature?
Вы можете найти его на:
Можете ли вы заставить gulp распечатать трассировку стека? Таким образом, мы могли бы определить, где находится оскорбительный код. Одно недавнее изменение заключается в том, что теперь registerHandler будет выдавать ошибку, аналогичную той, что описана @SkadeGlad.
Боюсь, но это все трассировка стека, которую я вижу :(
Я считаю, что ошибка в https://github.com/webdriverio/wdio-cucumber-framework
@vytautas-pranskunas- это можно закрыть? Появляется wdio-cucumber-framework был обновлен
да. Спасибо
Используя Cucumber-js 1.3.1
, я получаю это предупреждение:
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
Мои крючки:
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();
});
};
Что мне нужно изменить?
@iongion У меня такая же проблема https://github.com/mattfritz/protractor-cucumber-framework/issues/55 и https://github.com/mattfritz/protractor-cucumber-framework/issues/38 .
Эта ветка была автоматически заблокирована, так как после ее закрытия не было никаких действий в последнее время. Пожалуйста, откройте новую проблему для связанных ошибок.
Самый полезный комментарий
это огурец:
в одном из ваших хуков или шагов вы поместили обратный вызов в качестве параметра функции, а затем не вызвали его:
например
this.Before (функция (сценарий, обратный вызов ) {
вернуть что-нибудь();
});
поэтому, если вы возвращаете обещание, просто избавьтесь от «обратного вызова» в качестве параметра => функция (сценарий) {...}
или
просто используйте свой обратный вызов в конце: callback()