Cucumber-js: μ‚¬μš©μž 지정 포맷터에 λŒ€ν•œ 지원 μΆ”κ°€

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

이전 PR

215

257

309

ν˜„μž¬ λ‹€μŒκ³Ό 같이 포맷터λ₯Ό λ³€κ²½ν•˜λŠ” 진행 쀑인 일뢀 μž‘μ—…μ—μ„œ 차단됨

// suite - an event emitter
// log - function to call with output
// options - formatter options coming from cucumber
//   snippetGenerator - function to call to generate snippet for an undefined step
//   useColors - boolean of whether or not to use colors
function MyFormatter(suite, log, options) {
  suite.on('beforeFeatures', function () {});
  suite.on('beforeFeature', function (feature) {});
  suite.on('beforeScenario', function (scenario) {});
  suite.on('beforeStep', function (step) {});
  suite.on('stepResult', function (stepResult) {});
  suite.on('afterStep', function (step) {});
  suite.on('scenarioResult', function (scenarioResult) {});
  suite.on('afterScenario', function (scenario) {});
  suite.on('afterFeature', function (feature) {});
  suite.on('featuresResult', function (featuresResult) {});
  suite.on('afterFeatures', function () {});
}

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

κΈ°μ—¬ μ œμ•ˆμ— λŒ€ν•΄ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€! 진행 쀑인 μž‘μ—…μ— λŒ€ν•œ λ°°κ²½ 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. λ”°λΌμ„œ 포맷터λ₯Ό 이 ꡬ문으둜 λ³€κ²½ν•˜κΈ° μœ„ν•œ ν•œ 가지 μ€‘μš”ν•œ 점은 μ˜€μ΄κ°€ 포맷터에 μ—°κ²°λ˜λŠ” 방식을 μ™„μ „νžˆ μž¬μž‘μ—…ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έ κ²°κ³Ό registerHandler λ₯Ό μ œκ±°ν•΄μ•Ό ν–ˆμœΌλ©°, μ΄λŠ” 주둜 beforeAll / afterAll 후크에 μ‚¬μš©λ˜μ§€λ§Œ μΈν„°νŽ˜μ΄μŠ€κ°€ μΌκ΄€λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. registerHandler μ œκ±°ν•˜λŠ” λΆ„κΈ°κ°€ μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ΄λŠ” λΈŒλΌμš°μ € 버전을 μ œλŒ€λ‘œ μ§€μ›ν•˜κΈ° μœ„ν•΄ gherkin의 μƒˆ 릴리슀λ₯Ό κΈ°λ‹€λ¦¬λŠ” gherkin4λ₯Ό μ‚¬μš©ν•˜λ„λ‘ μ—…λ°μ΄νŠΈν•˜λŠ” 데 달렀 μžˆμŠ΅λ‹ˆλ‹€.

계속 이동할 수 μžˆλ„λ‘ λΈŒλΌμš°μ € 지원을 μœ„ν•΄ μž‘μ€ 였이둜 버그λ₯Ό μˆ˜λ™μœΌλ‘œ μˆ˜μ •ν•˜κ² μŠ΅λ‹ˆλ‹€. μ£„μ†‘ν•©λ‹ˆλ‹€. λ‚˜λŠ” μš°λ¦¬κ°€ 이것에 μ ‘κ·Όν•˜λŠ” 데 도움이 될 λͺ¨λ“  κΈ°μ‘΄ μž‘μ—…μ„ μ–»κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

κΈ°μ—¬ν•˜κ³ μž ν•˜λŠ” μ‚¬λžŒμ΄ 있으면 문제λ₯Ό μ„ νƒν•˜κ±°λ‚˜ μž‘μ—…ν•˜κ³  싢은 것이 있으면 gitterμ—μ„œ μ €μ—κ²Œ 핑을 λ³΄λ‚΄μ£Όμ‹­μ‹œμ˜€. ν¬ν¬μ—μ„œ 첫 번째 PR을 μž‘μ„±ν•΄ λ³΄μ‹œκΈ° λ°”λžλ‹ˆλ‹€. κ·€ν•˜μ˜ PR 쀑 ν•˜λ‚˜λ₯Ό κ°€μ Έμ˜€κΈ° μœ„ν•΄ κ·€ν•˜μ™€ ν˜‘λ ₯ν•œ ν›„μ—λŠ” κ·€ν•˜μ—κ²Œ 리포지토리에 λŒ€ν•œ 컀밋 μ•‘μ„ΈμŠ€ κΆŒν•œμ„ λΆ€μ—¬ν•˜κ²Œ λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€.

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

방금 이전 PR을 읽고 이것이 더 이상적인 μ†”λ£¨μ…˜μ²˜λŸΌ λŠκ»΄μ§‘λ‹ˆλ‹€. 이 문제λ₯Ό ν‘Έμ‹œν•˜λŠ” 데 도움이 될 수 μžˆλŠ” 것이 있으면 μ•Œλ €μ£Όμ„Έμš”.+1:

이것도 κΈ°λŒ€λ©λ‹ˆλ‹€. λ‚΄κ°€ λ„μšΈ 수 있으면 μ•Œλ €μ£Όμ„Έμš” :+1:

이 κΈ°λŠ₯의 ETAκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

이에 λŒ€ν•œ μ—…λ°μ΄νŠΈκ°€ μžˆμŠ΅λ‹ˆκΉŒ? 이것은 λͺ‡ λ…„ λ™μ•ˆ μž‘μ—… ν•œ κ²ƒμ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€ ....

μš°λ¦¬κ°€ λ„μšΈ 수 μžˆλŠ” 일이 있으면 μ•Œλ €μ£Όμ‹­μ‹œμ˜€.

+1 였랜 기닀림은 κ΄΄λ‘œμ›Œ

+1

@charlierudolph : λ‚˜λŠ” 이것이 ν•„μš”ν•˜κ³  λ˜ν•œ μ˜€ν”ˆ μ†ŒμŠ€ ν”„λ‘œμ νŠΈλ₯Ό μ„ νƒν•˜κ³  κΈ°μ—¬ν•˜λ €κ³  ν•©λ‹ˆλ‹€. 이 νŠΉμ • λ¬Έμ œμ— λŒ€ν•΄ @apbarrero λ˜λŠ” λ‹€λ₯Έ μ‚¬λžŒκ³Ό

λ˜ν•œ 기꺼이 κΈ°μ—¬ν•©λ‹ˆλ‹€.

κΈ°μ—¬ μ œμ•ˆμ— λŒ€ν•΄ λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€! 진행 쀑인 μž‘μ—…μ— λŒ€ν•œ λ°°κ²½ 정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. λ”°λΌμ„œ 포맷터λ₯Ό 이 ꡬ문으둜 λ³€κ²½ν•˜κΈ° μœ„ν•œ ν•œ 가지 μ€‘μš”ν•œ 점은 μ˜€μ΄κ°€ 포맷터에 μ—°κ²°λ˜λŠ” 방식을 μ™„μ „νžˆ μž¬μž‘μ—…ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έ κ²°κ³Ό registerHandler λ₯Ό μ œκ±°ν•΄μ•Ό ν–ˆμœΌλ©°, μ΄λŠ” 주둜 beforeAll / afterAll 후크에 μ‚¬μš©λ˜μ§€λ§Œ μΈν„°νŽ˜μ΄μŠ€κ°€ μΌκ΄€λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. registerHandler μ œκ±°ν•˜λŠ” λΆ„κΈ°κ°€ μžˆμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ΄λŠ” λΈŒλΌμš°μ € 버전을 μ œλŒ€λ‘œ μ§€μ›ν•˜κΈ° μœ„ν•΄ gherkin의 μƒˆ 릴리슀λ₯Ό κΈ°λ‹€λ¦¬λŠ” gherkin4λ₯Ό μ‚¬μš©ν•˜λ„λ‘ μ—…λ°μ΄νŠΈν•˜λŠ” 데 달렀 μžˆμŠ΅λ‹ˆλ‹€.

계속 이동할 수 μžˆλ„λ‘ λΈŒλΌμš°μ € 지원을 μœ„ν•΄ μž‘μ€ 였이둜 버그λ₯Ό μˆ˜λ™μœΌλ‘œ μˆ˜μ •ν•˜κ² μŠ΅λ‹ˆλ‹€. μ£„μ†‘ν•©λ‹ˆλ‹€. λ‚˜λŠ” μš°λ¦¬κ°€ 이것에 μ ‘κ·Όν•˜λŠ” 데 도움이 될 λͺ¨λ“  κΈ°μ‘΄ μž‘μ—…μ„ μ–»κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

κΈ°μ—¬ν•˜κ³ μž ν•˜λŠ” μ‚¬λžŒμ΄ 있으면 문제λ₯Ό μ„ νƒν•˜κ±°λ‚˜ μž‘μ—…ν•˜κ³  싢은 것이 있으면 gitterμ—μ„œ μ €μ—κ²Œ 핑을 λ³΄λ‚΄μ£Όμ‹­μ‹œμ˜€. ν¬ν¬μ—μ„œ 첫 번째 PR을 μž‘μ„±ν•΄ λ³΄μ‹œκΈ° λ°”λžλ‹ˆλ‹€. κ·€ν•˜μ˜ PR 쀑 ν•˜λ‚˜λ₯Ό κ°€μ Έμ˜€κΈ° μœ„ν•΄ κ·€ν•˜μ™€ ν˜‘λ ₯ν•œ ν›„μ—λŠ” κ·€ν•˜μ—κ²Œ 리포지토리에 λŒ€ν•œ 컀밋 μ•‘μ„ΈμŠ€ κΆŒν•œμ„ λΆ€μ—¬ν•˜κ²Œ λ˜μ–΄ κΈ°μ©λ‹ˆλ‹€.

+1

+1

μ—…λ°μ΄νŠΈ: 더 이상 registerHandler μ œκ±°ν•  κ³„νšμ΄ μ—†μŠ΅λ‹ˆλ‹€. 버전 1.1.0μ—μ„œλŠ” ν˜„μž¬ registerHandler/포맷터가 μž‘λ™ν•˜λŠ” 방식에 λ§Œμ‘±ν•©λ‹ˆλ‹€. ν˜„μž¬ μž‘μ—… 쀑인 2.0의 μΌλΆ€λ‘œ 이에 λŒ€ν•œ 지원을 μΆ”κ°€ν•˜κ³  ES6의 μ½”λ“œλ² μ΄μŠ€λ₯Ό λ‹€μ‹œ μž‘μ„±ν•©λ‹ˆλ‹€.

2.0.0-rc.1 좔가됨

rc9λ₯Ό μ‚¬μš©ν•˜κ³  있으며 포맷터 폴더에 junit λ˜λŠ” νƒ­ 포맷터가 ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€. --format μ˜΅μ…˜λ„ μ§€μ›ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ‚΄κ°€ λ†“μΉœ 게 μžˆλ‹ˆ?

이제 μ‚¬μš©μž μ •μ˜ 포맷터에 λŒ€ν•œ 지원이 μžˆμœΌλ―€λ‘œ(readme의 링크 μ°Έμ‘°) junit / tap ν¬λ§·ν„°μ˜ 경우 자체 λͺ¨λ“ˆλ‘œ κ΅¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” ν˜„μž¬ 아무도 믿지 μ•ŠλŠ”λ‹€

μ§€κΈˆμ€ κΈ°λ³Έ ν¬λ§·ν„°λ§ŒνΌ μ’‹μ§€λŠ” μ•Šμ§€λ§Œ μž‘λ™ν•˜λŠ” https://github.com/stjohnjohnson/cucumber-junit 을 μ‚¬μš©ν•˜κ³ 

이 μŠ€λ ˆλ“œλŠ” λ‹«νžŒ ν›„ 졜근 ν™œλ™μ΄ μ—†μ—ˆκΈ° λ•Œλ¬Έμ— μžλ™μœΌλ‘œ μž κ²ΌμŠ΅λ‹ˆλ‹€. κ΄€λ ¨ 버그에 λŒ€ν•œ μƒˆ 문제λ₯Ό μ—¬μ‹­μ‹œμ˜€.

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