ãã¹ãã¹ã€ãŒããXååè©Šè¡ãããã®ãã¹ããããããã®å®è¡ã§åæ Œããå Žåã«ãã¹ãã«åæ Œããæ©èœãããã°äŸ¿å©ã§ãã
@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ããããã¹ã¿ãŒã«ããŒãžãããå¯èœæ§ã¯ãããŸããïŒ
æãåèã«ãªãã³ã¡ã³ã
ãã®æ©èœã«å¯Ÿããå人çãªæèŠã®äžäžèŽïŒãã®è°è«ã¯ããšã³ãžãã¢ãªã³ã°ã®äžçã§ã¯ã¿ããšã¹ããŒã¹ã®ããã«ç¡é§ã«ãªãå¯èœæ§ããããŸãïŒã«é¢ããŠãããŒã«ä»æ§ãšããŠã®Cucumberããããå®è£ ããŠããå Žåã¯ããã®ããŒã«ã®JSããŒãžã§ã³ã§ãããããµããŒãããå¿ èŠããããŸãã
ãŸããçŸå®ã®äžçã§ã¯ãå¹ åºããã¹ãã¹ã€ãŒããšè€éãªã¢ããªã±ãŒã·ã§ã³ã䜿çšããŠããã¬ãŒã¯ãã¹ãã100ïŒ é²åŸ¡ããããšã¯äžå¯èœã§ãããããéåžžã«é«äŸ¡ã«ãªããŸãã 絶察ã«ãããæ¹åããããã®ãšã³ãžãã¢ãªã³ã°ã®æ ãããããšãã§ããŸããããŸãšããªROIã§ãã®ãããªåªåããµããŒãããããã®ãªãœãŒã¹ã®èŽ æ²¢ãæã£ãŠããå€ãã®äŒæ¥ããããšã¯æããŸããã
çŸå®ã®äžçã§ã¯ã倱æãããã¹ããåè©Šè¡ããŠãããã¢ã¯ãã£ããªã¢ã¯ã·ã§ã³ã®äžå®å®ããç¹å®ããããã®é©åãªè¿œè·¡ãè¿œå ã§ããããšã¯éåžžã«äŸ¡å€ããããŸãã
ãã®åé¡ã解決ãã決å®ãåæ€èšããŠããã ããã°å¹žãã§ããåã«è¿°ã¹ãããã«ãããã€ãã®ã¬ã€ãã³ã¹ãæäŸããŠããã«åãçµãããšãã§ããŠããããã§ãã