Cucumber-js: κ΅¬ν˜„ --μž¬μ‹œλ„

에 λ§Œλ“  2017λ…„ 01μ›” 19일  Β·  33μ½”λ©˜νŠΈ  Β·  좜처: cucumber/cucumber-js

ν…ŒμŠ€νŠΈ μŠ€μœ„νŠΈλ₯Ό X번 μž¬μ‹œλ„ν•˜κ³  ν•΄λ‹Ή ν…ŒμŠ€νŠΈκ°€ μ‹€ν–‰ 쀑 ν•˜λ‚˜λΌλ„ ν†΅κ³Όν•˜λ©΄ ν…ŒμŠ€νŠΈλ₯Ό ν†΅κ³Όν•˜λŠ” κΈ°λŠ₯이 있으면 쒋을 κ²ƒμž…λ‹ˆλ‹€.

help wanted

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이 κΈ°λŠ₯에 λŒ€ν•œ 개인적인 의견 차이와 κ΄€λ ¨ν•˜μ—¬(이 μ£Όμž₯은 μ—”μ§€λ‹ˆμ–΄λ§ μ„Έκ³„μ—μ„œ νƒ­ λŒ€ 곡백만큼 무읡할 수 있음) 도ꡬ 사양인 Cucumberκ°€ 이λ₯Ό κ΅¬ν˜„ν•˜λŠ” 경우 이 λ„κ΅¬μ˜ JS λ²„μ „μ—μ„œλ„ 이λ₯Ό 지원해야 ν•©λ‹ˆλ‹€.

λ˜ν•œ κ΄‘λ²”μœ„ν•œ ν…ŒμŠ€νŠΈ μ œν’ˆκ΅°κ³Ό λ³΅μž‘ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μžˆλŠ” ν˜„μ‹€ μ„Έκ³„μ—μ„œλŠ” λ°•νŽΈμ— λŒ€ν•΄ 100% λ°©μ–΄ν•  수 μ—†μœΌλ―€λ‘œ

ν˜„μ‹€ μ„Έκ³„μ—μ„œ 사전 예방 쑰치λ₯Ό μœ„ν•œ 취약성을 μ‹λ³„ν•˜κΈ° μœ„ν•΄ μš°μˆ˜ν•œ 좔적 κΈ°λŠ₯ 을 μΆ”κ°€ν•˜μ—¬ μ‹€νŒ¨ν•œ ν…ŒμŠ€νŠΈλ₯Ό μž¬μ‹œλ„ν•  수 μžˆλŠ” 것은 맀우 κ°€μΉ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

이 문제λ₯Ό μ’…λ£Œν•˜κΈ°λ‘œ ν•œ 결정을 μž¬κ³ ν•΄ μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€. μ•žμ„œ μ–ΈκΈ‰ν•œ λŒ€λ‘œ λͺ‡ 가지 지침에 따라 이 문제λ₯Ό ν•΄κ²°ν•΄ λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  33 λŒ“κΈ€

@ericyliu 였이 3둜 λ‚˜μ˜΅λ‹ˆλ‹€. 였이 2κ°€ 아직 RC에 μžˆλŠ” μ΄μœ λŠ” λͺ¨λ₯΄κ² μ§€λ§Œ...

@charlierudolph λ˜λŠ” 포인터가 있으면 λˆ„κ΅¬λ“ μ§€ 이것을 μ„ νƒν•˜μ—¬

λ‚΄ 좔정적 μ ‘κ·Ό 방식은 μ‹€ν–‰ 쀑인 μ‹œλ‚˜λ¦¬μ˜€κ°€ 끝날 λ•Œ μ‹€νŒ¨ μ—¬λΆ€λ₯Ό μ•Œ 수 있고 λ‹€μ‹œ μ‹€ν–‰ν•  수 μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€(μž¬μ‹œλ„ νšŸμˆ˜μ— λŒ€ν•œ 일뢀 μƒνƒœ μœ μ§€). λ‚˜λŠ” 어디에 이것을 μ—°κ²°ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

뿐만 μ•„λ‹ˆλΌ 전체 ν”„λ‘œμ„ΈμŠ€κ°€ 끝날 λ•Œ λͺ¨λ“  μ‹œλ‚˜λ¦¬μ˜€, μž¬μ‹œλ„ 횟수 및 μ΅œμ’… μƒνƒœ λͺ©λ‘μ— μ•‘μ„ΈμŠ€ν•  수 있기λ₯Ό κΈ°λŒ€ν•©λ‹ˆλ‹€. .

λ‚˜λŠ” 개인적으둜 이것을 λ™μ˜ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— 이것을 κ΅¬ν˜„ν•˜κ³  싢지 μ•ŠκΈ° λ•Œλ¬Έμ— λ‹«μŠ΅λ‹ˆλ‹€. λ‚˜λŠ” κΉœλ°•μž„μ˜ 원인을 μˆ˜μ •ν•˜λŠ” λŒ€μ‹  κΉœλ°•μž„ ν…ŒμŠ€νŠΈλ₯Ό μ²˜λ¦¬ν•˜λŠ” 데 μ‚¬μš©ν•  μˆ˜μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜λŠ” 것을 μ’‹μ•„ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

πŸ‘πŸ‘πŸ‘

@charlierudolph λ•Œλ‘œλŠ” κΉœλ°•μž„ ν…ŒμŠ€νŠΈλ₯Ό μ²˜λ¦¬ν•˜λŠ” 것이 λΆˆκ°€λŠ₯ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 우리 ν™˜κ²½μ—λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ μ€‘ν•˜λŠ” 23개의 μ„œλ‘œ λ‹€λ₯Έ μ„œλΉ„μŠ€κ°€ 있으며, μš°λ¦¬λŠ” μ΄λŸ¬ν•œ μ„œλΉ„μŠ€λ₯Ό μ†Œμœ ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— μ–΄λŠ μ„œλΉ„μŠ€λ„ μ–Έμ œλ“ μ§€ λ‹€μš΄λ  수 μžˆμŠ΅λ‹ˆλ‹€. --retry ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•˜λ©΄ μΌμ‹œμ μΈ μ„œλΉ„μŠ€ 쀑단(μ„œλΉ„μŠ€λ₯Ό λ‹€μ‹œ μ‹œμž‘ν•  λ•Œ)으둜 인해 ν…ŒμŠ€νŠΈ μ œν’ˆκ΅°μ΄ μ‹€νŒ¨ν•˜μ§€ μ•Šλ„λ‘ ν…ŒμŠ€νŠΈλ₯Ό λ‹€μ‹œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이 κΈ°λŠ₯에 λŒ€ν•œ 개인적인 의견 차이와 κ΄€λ ¨ν•˜μ—¬(이 μ£Όμž₯은 μ—”μ§€λ‹ˆμ–΄λ§ μ„Έκ³„μ—μ„œ νƒ­ λŒ€ 곡백만큼 무읡할 수 있음) 도ꡬ 사양인 Cucumberκ°€ 이λ₯Ό κ΅¬ν˜„ν•˜λŠ” 경우 이 λ„κ΅¬μ˜ JS λ²„μ „μ—μ„œλ„ 이λ₯Ό 지원해야 ν•©λ‹ˆλ‹€.

λ˜ν•œ κ΄‘λ²”μœ„ν•œ ν…ŒμŠ€νŠΈ μ œν’ˆκ΅°κ³Ό λ³΅μž‘ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μžˆλŠ” ν˜„μ‹€ μ„Έκ³„μ—μ„œλŠ” λ°•νŽΈμ— λŒ€ν•΄ 100% λ°©μ–΄ν•  수 μ—†μœΌλ―€λ‘œ

ν˜„μ‹€ μ„Έκ³„μ—μ„œ 사전 예방 쑰치λ₯Ό μœ„ν•œ 취약성을 μ‹λ³„ν•˜κΈ° μœ„ν•΄ μš°μˆ˜ν•œ 좔적 κΈ°λŠ₯ 을 μΆ”κ°€ν•˜μ—¬ μ‹€νŒ¨ν•œ ν…ŒμŠ€νŠΈλ₯Ό μž¬μ‹œλ„ν•  수 μžˆλŠ” 것은 맀우 κ°€μΉ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

이 문제λ₯Ό μ’…λ£Œν•˜κΈ°λ‘œ ν•œ 결정을 μž¬κ³ ν•΄ μ£Όμ‹œλ©΄ κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€. μ•žμ„œ μ–ΈκΈ‰ν•œ λŒ€λ‘œ λͺ‡ 가지 지침에 따라 이 문제λ₯Ό ν•΄κ²°ν•΄ λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

이 cucumber-js already μΆ”κ°€ν•˜λ €λ©΄ 기본적으둜 μž¬μ‹œλ„μΌ λΏμ΄μ§€λ§Œ λ³„λ„μ˜ ν”„λ‘œμ„ΈμŠ€λ‘œ μ‹€ν–‰ν•΄μ•Ό ν•˜λ―€λ‘œ νš¨μœ¨μ„±μ΄ λ–¨μ–΄μ§€λŠ” rerun κΈ°λŠ₯이 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μ‹œ μ‹œλ„ν•˜λŠ” 것이 훨씬 더 λ‚˜μ€ μ†”λ£¨μ…˜μž…λ‹ˆλ‹€.

cc @charlierudolph

λ˜ν•œ κ΄‘λ²”μœ„ν•œ ν…ŒμŠ€νŠΈ μ œν’ˆκ΅°κ³Ό λ³΅μž‘ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μžˆλŠ” ν˜„μ‹€ μ„Έκ³„μ—μ„œλŠ” λ°•νŽΈμ— λŒ€ν•΄ 100% λ°©μ–΄ν•  수 μ—†μœΌλ―€λ‘œ μ—„μ²­λ‚˜κ²Œ λΉ„μŒ‰λ‹ˆλ‹€.

λ‚˜λŠ” 비정상적 ν…ŒμŠ€νŠΈλ₯Ό μ ˆλŒ€μ μœΌλ‘œ μ‹«μ–΄ν•œλ‹€. ν˜„μž¬ ν”„λ‘œμ νŠΈμ—μ„œ μ €λŠ” CIμ—μ„œ 비정상적 ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜μ§€ μ•Šκ³  μˆ˜λ™ 싀행을 μœ„ν•΄ μ €μž₯ν•˜λ €κ³  ν•©λ‹ˆλ‹€. λΉ„μ •μƒμœΌλ‘œ 인해 무언가가 μ‹€νŒ¨ν•˜λ©΄ λ‹€μ‹œ μ‹€ν–‰ν•˜κ±°λ‚˜ μˆ˜λ™μœΌλ‘œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŠ” λ²—κ²¨μ§μ˜ 원인을 μ°Ύκ³  이λ₯Ό μ²˜λ¦¬ν•΄μ•Ό ν•˜λŠ” ν…ŒμŠ€νŠΈ 수λ₯Ό μ œν•œν•˜λŠ” 데 달렀 μžˆμŠ΅λ‹ˆλ‹€.

이 였이-js에 μΆ”κ°€ν•˜λ €λ©΄ 기본적으둜 μž¬μ‹œλ„μΌ λΏμ΄μ§€λ§Œ λ³„λ„μ˜ ν”„λ‘œμ„ΈμŠ€λ‘œ μ‹€ν–‰ν•΄μ•Ό ν•˜λ―€λ‘œ νš¨μœ¨μ„±μ΄ λ–¨μ–΄μ§€λŠ” μž¬μ‹€ν–‰ κΈ°λŠ₯이 이미 μžˆμŠ΅λ‹ˆλ‹€(μ΄λŠ” μ˜¬λ°”λ₯΄κ²Œ μ΄ν•΄ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€). λ‹€μ‹œ μ‹œλ„ν•˜λŠ” 것이 훨씬 더 λ‚˜μ€ μ†”λ£¨μ…˜μž…λ‹ˆλ‹€.

μž¬μ‹€ν–‰μ€ μˆ˜μ •ν•΄μ•Ό ν•˜λŠ” ν…ŒμŠ€νŠΈμ— μ‰½κ²Œ 집쀑할 수 μžˆλ„λ‘ κ΅¬μΆ•λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 예, μ‹€νŒ¨ν•œ μ‹œλ‚˜λ¦¬μ˜€λ§Œ λ‹€μ‹œ μ‹œλ„ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 비정상적 ν…ŒμŠ€νŠΈκ°€ ν”Όν•΄μ•Ό ν•œλ‹€λŠ” 것에 100% λ™μ˜ν•©λ‹ˆλ‹€. 즉, ν…ŒμŠ€νŠΈμ˜ 취약성은 μ’…μ’… νŒ€μ˜ ν†΅μ œ ν•˜μ— μžˆμ§€ μ•Šμ€ κ²ƒμž…λ‹ˆλ‹€. μ—¬κΈ° λ‚΄ 상황이 μžˆμŠ΅λ‹ˆλ‹€.

Cucumber, Nightwatch, Selenium 및 Browserstack을 μ‚¬μš©ν•˜μ—¬ μ›Ή μ•±μ—μ„œ 쒅단 κ°„ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. μ’…μ’… μ‹œλ‚˜λ¦¬μ˜€λŠ” Selenium, Browserstack λ˜λŠ” ν…ŒμŠ€νŠΈ 쀑인 λΈŒλΌμš°μ €μ˜ κ³ μœ ν•œ μ·¨μ•½μ„±μœΌλ‘œ 인해 μ‹€νŒ¨ν•©λ‹ˆλ‹€. 마우슀 μ›€μ§μž„κ³Ό κ΄€λ ¨λœ μƒν˜Έ μž‘μš©μ€ 이둜 인해 μ•…λͺ…이 λ†’μŠ΅λ‹ˆλ‹€. λ‚΄ λͺ¨λ“  μ‹œλ‚˜λ¦¬μ˜€λ₯Ό μ΅œμ†Œν•œ μ†Œμˆ˜μ˜ 비정상적 μƒνƒœ 없이 μ‹€ν–‰ν•  수 μžˆλŠ” κ²½μš°λŠ” λ“œλ­…λ‹ˆλ‹€.

Selenium, Browserstack λ˜λŠ” λΈŒλΌμš°μ €λ₯Ό 덜 λΆˆμ•ˆμ •ν•˜κ²Œ λ§Œλ“€ μˆ˜λŠ” μ—†μŠ΅λ‹ˆλ‹€. μ΄λŠ” μ œκ°€ μž‘μ—…ν•΄μ•Ό ν•˜λŠ” λ„κ΅¬μ˜ νŠΉμ„±μΌ λΏμž…λ‹ˆλ‹€. λ‚΄κ°€ ν•„μš”ν•œ μ†”λ£¨μ…˜μ€ μ‹€νŒ¨ν•  경우 λ‚΄ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό 두 번 λ‹€μ‹œ μ‹œλ„ν•  수 μžˆλŠ” κ²ƒμž…λ‹ˆλ‹€.

λ‚˜λŠ” μš°λ¦¬κ°€ 이것을 μž¬κ³ ν•΄μ•Ό ν•œλ‹€κ³  μƒκ°ν•œλ‹€. Cucumber-RubyλŠ” μ§€κΈˆ 그것을 가지고 μžˆμŠ΅λ‹ˆλ‹€.

λ™μ˜. λ‹€μŒμ€ Ruby κ΅¬ν˜„μ„ μœ„ν•œ μ½”λ“œμž…λ‹ˆλ‹€. JS κ΅¬ν˜„μ— μœ μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. https://github.com/cucumber/cucumber-ruby/pull/920/files

μ•ˆλ…•ν•˜μ„Έμš” μ—¬λŸ¬λΆ„, 이제 Cucumber-JSμ—μ„œ 'μž¬μ‹œλ„' κΈ°λŠ₯을 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 비정상적 ν…ŒμŠ€νŠΈκ°€ μˆ˜μ •λ˜μ–΄μ•Ό ν•œλ‹€λŠ” 데 λ™μ˜ν•˜μ§€λ§Œ κ²½ν—˜μ— λ”°λ₯΄λ©΄ λ§Žμ€ μ™ΈλΆ€ 쒅속성이 κ΄€λ ¨λœ λŒ€κ·œλͺ¨ ν”„λ‘œμ νŠΈμ—μ„œ μž‘μ—…ν•  λ•Œ 항상 κ°€λŠ₯ν•œ 것은 μ•„λ‹™λ‹ˆλ‹€.
ν•˜λ£¨κ°€ λλ‚˜λ©΄ μž¬μ‹œλ„ 논리가 μ—†κΈ° λ•Œλ¬Έμ— μ΄λŸ¬ν•œ λΆˆμ•ˆμ •ν•œ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ₯Ό μžλ™ν™”λ‘œ μ²˜λ¦¬ν•  수 μ—†λ‹€λ©΄ μ–΄μ¨Œλ“  μˆ˜λ™μœΌλ‘œ ν…ŒμŠ€νŠΈν•΄μ•Ό ν•©λ‹ˆλ‹€.
μž¬μ‹œλ„ 논리λ₯Ό μ‚¬μš©ν•˜λŠ” 것은 Cucumber μ‚¬μš©μžμ—κ²Œ 선택 μ‚¬ν•­μœΌλ‘œ 남겨두어야 ν•œλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.
λ‚˜λŠ” 'μž¬μ‹€ν–‰' κΈ°λŠ₯을 μ•Œκ³  μžˆμ§€λ§Œ 이λ₯Ό μ‚¬μš©ν•˜λ©΄ 였이 λŸ¬λ„ˆκ°€ 투λͺ…ν•˜κ²Œ μˆ˜ν–‰ν•˜λ„λ‘ ν•˜κΈ° μœ„ν•΄ λ³„λ„λ‘œ ν…ŒμŠ€νŠΈλ₯Ό λ‹€μ‹œ μ‹€ν–‰ν•΄μ•Ό ν•˜λ―€λ‘œ λ³΅μž‘μ„±μ΄ μΆ”κ°€λ©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @charlierudolph 와 @aslakhellesoyμž…λ‹ˆλ‹€. 이 κΈ°λŠ₯에 진전이 μžˆμŠ΅λ‹ˆκΉŒ?

λ‚΄κ°€ μ•„λŠ” ν•œ 아무도 그것에 λŒ€ν•΄ μž‘μ—…ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λˆ„κ΅°κ°€κ°€ pull μš”μ²­μ„ μ œκ³΅ν•œλ‹€λ©΄ λ‚˜λŠ” 그것을 μΆ”κ°€ν•˜λŠ” 것을 κ³ λ €ν•  κ²ƒμž…λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @aslakhellesoy λ„ˆλ¬΄ 빨리 λ‹΅μž₯을 보내 μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. 이것은 μš°λ¦¬κ°€ μžλ™ν™”ν•΄μ•Ό ν•˜λŠ” μž₯치 쀑 ν•˜λ‚˜κ°€ μ•½κ°„ λΆˆμ•ˆμ •ν•˜κ³  이 경우 μ‹€νŒ¨ν•œ μ‹œλ‚˜λ¦¬μ˜€λ₯Ό λ‹€μ‹œ μ‹€ν–‰ν•˜λŠ” 것 외에 μ‹€μ œλ‘œ μ‹€μš©μ μΈ λŒ€μ•ˆμ΄ μ—†κΈ° λ•Œλ¬Έμ— ν˜„μž¬ μš°λ¦¬μ—κ²Œ 정말 ν•„μš”ν•œ κ²ƒμž…λ‹ˆλ‹€.
λ‚΄ 생각은 μž¬μ‹œλ„ 횟수λ₯Ό μ§€μ •ν•˜κΈ° μœ„ν•΄ μ‹œλ‚˜λ¦¬μ˜€λ³„ νƒœκ·Έλ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμ΄μ§€λ§Œ μ΅œμ†Œν•œ λͺ…령쀄 λ§€κ°œλ³€μˆ˜μΌ 수 μžˆλŠ” μ‹œμž‘ κ΅¬ν˜„μœΌλ‘œ μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
λ‚˜λŠ” μ•žμœΌλ‘œ λ©°μΉ  μ•ˆμ— μ½”λ“œλ₯Ό μ‚΄νŽ΄λ³΄λ €κ³  λ…Έλ ₯ν•  것이닀.

그것은 쒋을 κ²ƒμž…λ‹ˆλ‹€! Cucumber-Ruby와 같은 λ°©μ‹μœΌλ‘œ λ™μž‘ν•˜λ„λ‘ ν•΄λ³΄μ„Έμš”. 톡합/일관성이 μš°λ¦¬κ°€ μΆ”κ΅¬ν•˜λŠ” κ²ƒμ΄λ―€λ‘œ λ³‘ν•©ν•˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

@aslakhellesoy μ•ˆλ…•ν•˜μ„Έμš”. κΈ°λ³Έ μž¬μ‹œλ„ κΈ°λŠ₯을 CLI --retry μ˜΅μ…˜μœΌλ‘œ κ΅¬ν˜„ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 우리 ν”„λ‘œμ νŠΈμ™€ ν•¨κ»˜ 그것을 ν…ŒμŠ€νŠΈν–ˆκ³  잘 μž‘λ™ν•©λ‹ˆλ‹€. λ‚΄ μž‘μ—… 지점을 ν‘Έμ‹œν•˜κ³  κ΅¬ν˜„μ„ λ…Όμ˜ν•˜κΈ° μœ„ν•΄ PR을 μ—΄λ €λ©΄ κΆŒν•œμ΄ ν•„μš”ν•©λ‹ˆλ‹€. μ•Œλ €μ£Όμ„Έμš”. κ°μ‚¬ν•©λ‹ˆλ‹€.

@hurrikam 수고 ν–ˆμ–΄.. πŸ‘πŸ‘πŸ‘
저도 이것을 μ‚¬μš©ν•˜κΈ°λ₯Ό κ³ λŒ€ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” nightwatch-cucumberλ₯Ό μ‚¬μš©ν•˜κ³  있으며 그듀은 이것을 였이 jsμ—μ„œ μˆ˜μ •ν•˜κΈ°λ₯Ό 기닀리고 μžˆμŠ΅λ‹ˆλ‹€. μ°Έμ‘° 번호 https://github.com/mucsi96/nightwatch-cucumber/issues/213

@charlierudolph λ„μ™€μ£Όμ‹œκ² μŠ΅λ‹ˆκΉŒ? μ§€κΈˆμ€ PR을 μ œμΆœν•  수 μ—†μŠ΅λ‹ˆλ‹€.

@hurrikam 포크λ₯Ό λ§Œλ“€κ³  거기에 μ½”λ“œλ₯Ό ν‘Έμ‹œν•œ λ‹€μŒ ν¬ν¬μ—μ„œ 이 https://help.github.com/articles/fork-a-repo/

@charlierudolph λŠ” PR-1114 λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.
제λͺ©μ—μ„œ μ–ΈκΈ‰ν–ˆλ“―μ΄ 이것은 κΈ°μ‘΄ 포맷터 및 λ³΄κ³ μ„œλ₯Ό μ†μƒμ‹œν‚€μ§€ μ•Šκ³  κΈ°λŠ₯을 μž‘λ™ν•˜λ„λ‘ ν•˜λŠ” μ΅œμ†Œν•œμ˜ κ΅¬ν˜„(μ‹€μ œλ‘œ μ½”λ“œ 변경이 거의 μ—†μŒ)μž…λ‹ˆλ‹€.

Cucumber Ruby repoμ—μ„œ 비정상적 ν…ŒμŠ€νŠΈμ˜ 각 싀행을 보고해야 ν•˜λŠ”μ§€ 여뢀와 κ΄€λ ¨ν•˜μ—¬ 이전 싀행에 λŒ€ν•œ '비정상적' κ²°κ³Ό μƒνƒœλ₯Ό μ†Œκ°œν•˜λŠ” 였래된 λŒ€ν™”λ₯Ό μ‚΄νŽ΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€. 그것이 μ™„λ£Œλ˜μ—ˆλŠ”μ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμœΌλ©° λ™μΌν•œ ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ λͺ¨λ“  μ‹œλ„λ₯Ό 둜그둜 κ°€μ Έμ˜€λŠ” 것이 λ‹¨μ μž…λ‹ˆλ‹€.

λ…Όμ˜ν•΄ λ΄…μ‹œλ‹€.

@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://github.com/wonderbill/cucumber-js.git#feature/issue -727-retry

멋진!!!! @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://github.com/wonderbill/cucumber-js.git#feature/issue -727-retry

ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•  λ•Œ μž¬μ‹œλ„ κΈ°λŠ₯을 μ–΄λ–»κ²Œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

@ricardgarcia λŠ” --retry μ˜΅μ…˜μ„ μ‚¬μš©ν•©λ‹ˆλ‹€. https://github.com/owncloud/phoenix/pull/1207/files μ°Έμ‘°
μ–Έμ  κ°€ 병합될 λ•ŒκΉŒμ§€ μ—¬κΈ° https://github.com/cucumber/cucumber-js/pull/1205 μ—μ„œ λ‚΄ PR의 λΆ„κΈ°λ₯Ό μ‚¬μš©ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @individual-it , 닡변에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. 였이-jsμ—μ„œ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜κΈ° μœ„ν•΄ webdriverIOλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 μž‘λ™ν•΄μ•Ό ν•©λ‹ˆκΉŒ?
"--retry 1" λͺ…령을 μ‹œλ„ν–ˆμ§€λ§Œ μž¬μ‹œλ„κ°€ μˆ˜ν–‰λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

@ricardgarcia https://github.com/cucumber/cucumber-js/pull/1205에 μ„€λͺ…λœ λŒ€λ‘œ 이 κΈ°λŠ₯을 μ‚¬μš©ν•˜λ €λ©΄ λ‹€μŒμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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

λ³€κ²½ 사항이 아직 μ£Όμš” 였이 μ €μž₯μ†Œμ— λ³‘ν•©λ˜μ§€ μ•Šμ•˜κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.

예 @jain-neeeraj μ €λŠ” package.jsonμ—μ„œ 이 버전을 μ‚¬μš©ν–ˆμ§€λ§Œ μž‘λ™ν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ–ΈκΈ‰ν•œ λŒ€λ‘œ webdriverIOμ—μ„œ 였이λ₯Ό μ‚¬μš©ν•˜μ—¬ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•˜κ³  μžˆμœΌλ―€λ‘œ λ‹€μŒ ν”„λ ˆμž„μ›Œν¬ "wdio-cucumber-framework"μž…λ‹ˆλ‹€. μ–΄λ–»κ²Œλ“  μž‘λ™ν•΄μ•Ό ν•©λ‹ˆκΉŒ? 였이-js ν”„λ ˆμž„μ›Œν¬λ₯Ό μ‚¬μš©ν•˜λŠ” 경우 μž¬μ‹œλ„λ₯Ό μœ„ν•΄ ν…ŒμŠ€νŠΈλ₯Ό μ–΄λ–»κ²Œ μ‹€ν–‰ν•©λ‹ˆκΉŒ?

@ricardgarcia λŠ” gitter https://gitter.im/cucumber/cucumber-js μ—μ„œ 곡동 μž‘μ—…μ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 도움을 λ“œλ¦΄ 수 μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€.

@charlierudolph 이것이 λ§ˆμŠ€ν„°μ— 병합될 κ°€λŠ₯성이 μžˆμŠ΅λ‹ˆκΉŒ?

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰