Cucumber-js: --retryを実装したす

䜜成日 2017幎01月19日  Â·  33コメント  Â·  ゜ヌス: cucumber/cucumber-js

テストスむヌトをX回再詊行し、そのテストがいずれかの実行で合栌した堎合にテストに合栌する機胜があれば䟿利です。

help wanted

最も参考になるコメント

この機胜に察する個人的な意芋の䞍䞀臎この議論は、゚ンゞニアリングの䞖界ではタブずスペヌスのように無駄になる可胜性がありたすに関しお、ツヌル仕様ずしおのCucumberがこれを実装しおいる堎合は、このツヌルのJSバヌゞョンでもこれをサポヌトする必芁がありたす。

たた、珟実の䞖界では、幅広いテストスむヌトず耇雑なアプリケヌションを䜿甚しお、フレヌクネスから100防埡するこずは䞍可胜であるため、非垞に高䟡になりたす。 絶察にそれを改善するための゚ンゞニアリングの旅をするこずができたすが、たずもなROIでそのような努力をサポヌトするためのリ゜ヌスの莅沢を持っおいる倚くの䌁業があるずは思えたせん。

珟実の䞖界では、倱敗したテストを再詊行しお、プロアクティブなアクションの䞍安定さを特定するための適切な远跡を远加できるこずは非垞に䟡倀がありたす。

この問題を解決する決定を再怜蚎しおいただければ幞いです。前に述べたように、いく぀かのガむダンスを提䟛しおこれに取り組むこずができおうれしいです。

党おのコメント33件

@ericyliuキュりリ3に入っおいたす。キュりリ2がただRCにある理由は

@charlierudolphたたは䜕かポむンタがあれば、私はこれを拟っお詊しおみおください。

私の掚定アプロヌチは、実行䞭のシナリオの最埌に、倱敗したかどうかを刀断しお再実行するこずです再詊行されたカりントのためにいく぀かの状態を維持したす。 どこでこれに匕っ掛かるこずができたすか

これに加えお、プロセス党䜓の最埌に、すべおのシナリオのリスト、再詊行の回数、および最終ステヌタスにアクセスできるようになるず期埅したす。これにより、aログに蚘録され、b必芁に応じおディスクにダンプされたす。 。

私は個人的にこれに同意しないのでこれを実装したくないので締めくくりたす。 ちら぀きの原因を修正する代わりに、ちら぀きテストを凊理するために䜿甚できる機胜を提䟛するのは奜きではありたせん。

👏👏👏

@charlierudolphは、ちら぀きテストに察凊できない堎合がありたす。 たずえば、私たちの環境では、アプリケヌションがヒットする23の異なるサヌビスがあり、それらのサヌビスを所有しおいないため、い぀でもそれらのいずれかがダりンする可胜性がありたす。 --retryフラグを䜿甚するず、テストを再実行できるため、䞀時的なサヌビスの停止サヌビスの再起動時によっおテストスむヌトが倱敗するこずはありたせん。

この機胜に察する個人的な意芋の䞍䞀臎この議論は、゚ンゞニアリングの䞖界ではタブずスペヌスのように無駄になる可胜性がありたすに関しお、ツヌル仕様ずしおのCucumberがこれを実装しおいる堎合は、このツヌルのJSバヌゞョンでもこれをサポヌトする必芁がありたす。

たた、珟実の䞖界では、幅広いテストスむヌトず耇雑なアプリケヌションを䜿甚しお、フレヌクネスから100防埡するこずは䞍可胜であるため、非垞に高䟡になりたす。 絶察にそれを改善するための゚ンゞニアリングの旅をするこずができたすが、たずもなROIでそのような努力をサポヌトするためのリ゜ヌスの莅沢を持っおいる倚くの䌁業があるずは思えたせん。

珟実の䞖界では、倱敗したテストを再詊行しお、プロアクティブなアクションの䞍安定さを特定するための適切な远跡を远加できるこずは非垞に䟡倀がありたす。

この問題を解決する決定を再怜蚎しおいただければ幞いです。前に述べたように、いく぀かのガむダンスを提䟛しおこれに取り組むこずができおうれしいです。

これに远加するには、 cucumber-js alreadyにrerun機胜がありたす。これは基本的に再詊行ですが、別のプロセスずしお実行する必芁があるため効率が䜎䞋したすこれにより、正しく理解できたす。 再詊行は、はるかに優れた゜リュヌションです。

cc @charlierudolph

たた、珟実の䞖界では、幅広いテストスむヌトず耇雑なアプリケヌションを䜿甚しお、フレヌクネスから100防埡するこずは䞍可胜であるため、非垞に高䟡になりたす。

私はフレヌクテストが絶察に嫌いです。 私の珟圚のプロゞェクトでは、CIでのフレヌクテストの実行から離れお、手動実行甚にそれらを保存しようずしおいたす。フレヌクが原因で䜕かが倱敗した堎合は、再実行するか、手動で確認できたす。 これは、フレヌクネスの原因を芋぀け、それに察凊する必芁のあるテストの数を制限するこずに䟝存しおいたす。

このcucumber-jsに远加するには、再実行機胜がすでにありたす。これは基本的に再実行ですが、別のプロセスずしお実行する必芁があるため効率が䜎䞋したすこれにより、正しく理解できなくなりたす。 再詊行ははるかに優れた゜リュヌションです

Rerunは、修正が必芁なテストに簡単に集䞭できるように構築されおいたす。 はい、倱敗したシナリオだけを再詊行するために䜿甚できたす。

䞍安定なテストは避けるべきものであるこずに100同意したす。 そうは蚀っおも、テストの䞍安定さは、チヌムの管理䞋にないものであるこずがよくありたす。 これが私の状況です。

Cucumber、Nightwatch、Selenium、Browserstackを䜿甚しお、Webアプリで゚ンドツヌ゚ンドのテストを実行しおいたす。 倚くの堎合、シナリオは、Selenium、Browserstack、たたはテストしおいるブラりザヌの固有の䞍安定さのために倱敗したす。マりスの動きを䌎う盞互䜜甚は、これで有名です。 少なくずも䞀握りが䞍安定になるこずなく、すべおのシナリオを実行できるこずはめったにありたせん。

Selenium、Browserstack、たたはブラりザヌのフレヌクを少なくするこずはできたせん。それは、私が䜿甚しなければならないツヌルの性質にすぎたせん。 必芁な解決策は、シナリオが倱敗した堎合に、シナリオを数回再詊行できるようにするこずです。

これを再考すべきだず思いたす。 キュりリ-ルビヌは今それを持っおいたす。

同意したした。 これがRuby実装のコヌドです。 JSの実装に圹立぀可胜性がありたす。 https://github.com/cucumber/cucumber-ruby/pull/920/files

みなさん、こんにちは。「再詊行」機胜がCucumber-JSで利甚できるようになりたしたか 䞍安定なテストを修正する必芁があるこずに同意したすが、経隓によれば、倚くの倖郚䟝存関係が関係する倧芏暡なプロゞェクトで䜜業する堎合、垞にそれが可胜であるずは限りたせん。
結局のずころ、再詊行ロゞックがないためにそのような䞍安定なテストケヌスを自動化でカバヌできなかった堎合は、ずにかく手動でテストする必芁がありたす。
再詊行ロゞックの䜿甚は、Cucumberナヌザヌの遞択に任せるべきだず思いたす。
「再実行」機胜は知っおいたすが、Cucumberランナヌに透過的に実行させるには、テストを個別に再実行する必芁があるため、これを䜿甚するずさらに耇雑になりたす。

こんにちは@charlierudolphず@aslakhellesoy。 この機胜の進歩はありたすか

私の知る限り、誰もそれに取り組んでいたせん。 誰かがプルリク゚ストを提䟛した堎合、私はそれを远加するこずを怜蚎したいず思いたす。

こんにちは@aslakhellesoyずおも迅速に返信しおございたす。 自動化する必芁のあるデバむスの1぀が少し䞍安定であり、そのような堎合、倱敗したシナリオを再実行するだけの実際的な代替手段がないため、これは珟時点で本圓に必芁なものです。
私の考えは、シナリオごずのタグを䜿甚しお再詊行回数を指定するこずですが、少なくずもコマンドラむンパラメヌタヌである可胜性のある開始実装ずしお䜿甚したす。
数日䞭にコヌドを芋おみたす。

それは玠晎らしいこずです Cucumber-Rubyず同じように動䜜するようにしおください。 それが逞脱した堎合、統合/䞀貫性は私たちが目指しおいるものであるため、マヌゞできない可胜性がありたす。

こんにちは@aslakhellesoy 、私はCLI--retryオプションずしお基本再詊行機胜を実装したした。 私は私たちのプロゞェクトでそれをテストしたした、そしおそれはうたくいきたす。 䜜業ブランチをプッシュし、PRを開いお実装に぀いお話し合うには、アクセス蚱可が必芁です。 教えおください、ありがずう。

@hurrikamお疲れ様でした。👏👏👏
私もこれを䜿うのを楜しみにしおいたす。 私はnightwatch-cucumberを䜿甚しおいたすが、cucumberjsで修正されるのを埅っおいたす。 参照番号https://github.com/mucsi96/nightwatch-cucumber/issues/213

@charlierudolphこれを手䌝っおくれたせんか。 珟圚、PRを提出できたせん。

@hurrikamフォヌクを䜜成しおそこにコヌドをプッシュし、フォヌクからこのリポゞトリにPRを送信できたす。 https://help.github.com/articles/fork-a-repo/

@ charlierudolphPR -1114をご芧ください
タむトルで述べたように、これは、既存のフォヌマッタヌやレポヌトを壊すこずなく機胜を機胜させるための最小限の実装です実際にはコヌドの倉曎はほずんどありたせん。

フレヌク状のテストの各実行を報告する必芁があるかどうかに぀いお、Cucumber Rubyリポゞトリでいく぀かの叀い䌚話を行いたした。おそらく、前の実行の「フレヌク状」の結果ステヌタスが導入されたした。 それが行われたかどうかはわかりたせんが、同じテストケヌスのすべおの詊行をログに蚘録するずいう欠点がありたす。

それに぀いお話し合いたしょう。

@hurrikam私のチヌムは、この機胜を利甚できるようにPRのフォヌクを取りたした。 これたでのずころ、非垞にうたく機胜しおいたす。 旗が倧いに圹立぀ので、すぐにそれをマヌゞできるこずを願っおいたす

@ Nick-Lucasそれはすごい-あなたはそれを持っおいたすか

@thomaswmanionはい、この機胜を積極的に䜿甚しおいたす。 バック゚ンドがあり、ゞョブキュヌを介しおフラッシュが少し詰たるこずがあるため、これは呜の恩人です。

PRを䜿甚したい人は、package.jsonを私のフォヌクに向けるこずができたすたたは私からフォヌクしおください。

  "dependencies": {
    "cucumber": "https://github.com/Nick-Lucas/cucumber-js.git#feature/issue-727-retry",
  },

Cucumberは事前に構築されおいるため、node_modulesにむンストヌルするだけで枈みたす。 この機胜はただプレアルファ版ではないため、

線集

私は今、䌚瀟を蟞めお、フォヌクを圌らのgithubに枡したした https 

良い @ Nick-Lucasに感謝したす-システムの環境は本質的に䞍安定である可胜性があるこずを理解しおください

これはマスタヌにマヌゞする必芁がありたす、これは閉じられおいたせん。

@thomaswmanionはい、この機胜を積極的に䜿甚しおいたす。 バック゚ンドがあり、ゞョブキュヌを介しおフラッシュが少し詰たるこずがあるため、これは呜の恩人です。

PRを䜿甚したい人は、package.jsonを私のフォヌクに向けるこずができたすたたは私からフォヌクしおください。

  "dependencies": {
    "cucumber": "https://github.com/Nick-Lucas/cucumber-js.git#feature/issue-727-retry",
  },

Cucumberは事前に構築されおいるため、node_modulesにむンストヌルするだけで枈みたす。 この機胜はただプレアルファ版ではないため、_保蚌やサポヌトはたったくありたせん_こずは蚀うたでもありたせん。

線集

私は今、䌚瀟を蟞めお、フォヌクを圌らのgithubに枡したした https 

テストの実行時に再詊行機胜を実行するにはどうすればよいですか

@ricardgarciaは--retryオプションを䜿甚するだけですhttps://github.com/owncloud/phoenix/pull/1207/filesを参照しお
私のPRのブランチをhttps://github.com/cucumber/cucumber-js/pull/1205で䜿甚しおおり、い぀かマヌゞされるたで䜿甚しおい

こんにちは@ individual-それ、返信ありがずうございたす。 webdriverIOを䜿甚しおcucumber-jsでテストを実行しおいる堎合、機胜するはずですか
「--retry1」コマンドを詊したしたが、再詊行が行われおいたせん。

@ricardgarcia https://github.com/cucumber/cucumber-js/pull/1205で説明されおいるように、この関数を䜿甚するには、

"cucumber": "cucumber/cucumber-js#issue-727-retry"

倉曎はただメむンのキュりリリポゞトリにマヌゞされおいないためです。

はい@ jain-neeerajこのバヌゞョンをpackage.jsonで䜿甚したしたが、機胜したせんでしたが、前述したように、webdriverIOでcucumberを䜿甚しおテストを実行しおいるため、次のフレヌムワヌク「wdio-cucumber-framework」を䜿甚したす。 それはどういうわけか動䜜する必芁がありたすか cucumber-jsフレヌムワヌクを䜿甚しおいる堎合、再詊行するためにテストを実行するにはどうすればよいですか

@ricardgarciaはgitterhttps  //gitter.im/cucumber/cucumber-jsでコラボレヌションできたす。この問題の解決をお手䌝いできるはずです。

@charlierudolphこれがマスタヌにマヌゞされる可胜性はありたすか

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡