Cucumber-js: 1.0.0から1.2.0に移行するときに問題が発生する

作成日 2016年06月29日  ·  12コメント  ·  ソース: cucumber/cucumber-js

こんにちは、

きゅうりのバージョンが更新された後、私は問題に遭遇し、それを修正する方法を正確に理解していません:

registerHandlerを介してアタッチされたキュウリイベントハンドラーに、イベントではなく関連オブジェクトが渡されるようになりました
getPayloadItemは、次のメジャーリリースで削除されます

C:dev \ Topic Analyst \ Frontend \ node_modules \ cucumber \ lib \ cucumber \ runtime \ event_broadcaster.js:30
エラーをスローします。
^
関数はコールバックを受け入れ、promiseを返します

0合格(3.30秒)

[10:43:31]3.51秒後に「キュウリ」がエラーになりました
[10:43:31]プラグイン「gulp-webdriver」のエラー
メッセージ:
wdioはコード1で終了しました

何か案が? これはキュウリの問題ですか...?

最も参考になるコメント

これはcucmberです:

フックまたはステップの1つで、コールバックを関数パラメーターとして配置し、それを呼び出さなかった:
例えば

this.Before(function(scenario、 callback ){
何かを返す();
});

したがって、promiseを返す場合は、パラメータとしての「コールバック」を削除するだけです=>関数(シナリオ){...}
また
最後にコールバックを使用するだけです:callback()

全てのコメント12件

これはcucmberです:

フックまたはステップの1つで、コールバックを関数パラメーターとして配置し、それを呼び出さなかった:
例えば

this.Before(function(scenario、 callback ){
何かを返す();
});

したがって、promiseを返す場合は、パラメータとしての「コールバック」を削除するだけです=>関数(シナリオ){...}
また
最後にコールバックを使用するだけです:callback()

いいえ、そのようなことはしていません。代わりに、gulp-cucumberの '' beforeFeature "フックにフックしています。これは問題になる可能性があります。gulp-cucumberはコールバックを使用していると思いますか?

beforeFeatureコードを提供できますか?

あなたはそれを見つけることができます:

https://github.com/vgamula/gulp-cucumber

スタックトレースを印刷するためにgulpを取得できますか? そうすれば、問題のあるコードがどこにあるかを突き止めることができるかもしれません。 最近の変更の1つは、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();
  });

};

何を変更する必要がありますか?

このスレッドは、閉じられた後、最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。

このページは役に立ちましたか?
0 / 5 - 0 評価