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
였λ₯˜λ₯Ό λ˜μ§€λ‹€;
^^
ν•¨μˆ˜λŠ” μ½œλ°±μ„ μˆ˜λ½ν•˜κ³  약속을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

0 톡과(3.30초)

[10:43:31] 3.51초 ν›„ '였이' 였λ₯˜ λ°œμƒ
[10:43:31] ν”ŒλŸ¬κ·ΈμΈ 'gulp-webdriver' 였λ₯˜
메세지:
wdioκ°€ μ½”λ“œ 1κ³Ό ν•¨κ»˜ μ’…λ£Œλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

μ–΄λ–€ 아이디어라도? 이것은 였이 λ¬Έμ œμž…λ‹ˆκΉŒ μ•„λ‹ˆλ©΄...?

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

이것은 μ˜€μ΄μž…λ‹ˆλ‹€:

후크 λ˜λŠ” 단계 쀑 ν•˜λ‚˜μ—μ„œ μ½œλ°±μ„ ν•¨μˆ˜ 맀개 λ³€μˆ˜λ‘œ 넣은 λ‹€μŒ ν˜ΈμΆœν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
예

this.Before(ν•¨μˆ˜(μ‹œλ‚˜λ¦¬μ˜€, 콜백 ) {
무언가λ₯Ό λ°˜ν™˜();
});

κ·Έλž˜μ„œ λ§Œμ•½ 당신이 ν”„λΌλ―ΈμŠ€λ₯Ό λ°˜ν™˜ν•œλ‹€λ©΄, λ§€κ°œλ³€μˆ˜λ‘œ "콜백"을 μ—†μ• κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€ => function (scenario) {...}
λ˜λŠ”
λ§ˆμ§€λ§‰μ— μ½œλ°±μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€. callback()

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

이것은 μ˜€μ΄μž…λ‹ˆλ‹€:

후크 λ˜λŠ” 단계 쀑 ν•˜λ‚˜μ—μ„œ μ½œλ°±μ„ ν•¨μˆ˜ 맀개 λ³€μˆ˜λ‘œ 넣은 λ‹€μŒ ν˜ΈμΆœν•˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€.
예

this.Before(ν•¨μˆ˜(μ‹œλ‚˜λ¦¬μ˜€, 콜백 ) {
무언가λ₯Ό λ°˜ν™˜();
});

κ·Έλž˜μ„œ λ§Œμ•½ 당신이 ν”„λΌλ―ΈμŠ€λ₯Ό λ°˜ν™˜ν•œλ‹€λ©΄, λ§€κ°œλ³€μˆ˜λ‘œ "콜백"을 μ—†μ• κΈ°λ§Œ ν•˜λ©΄ λ©λ‹ˆλ‹€ => function (scenario) {...}
λ˜λŠ”
λ§ˆμ§€λ§‰μ— μ½œλ°±μ„ μ‚¬μš©ν•˜μ‹­μ‹œμ˜€. callback()

μ•„λ‹ˆμš”, μš°λ¦¬λŠ” 그런 일을 ν•˜λŠ” 것이 μ•„λ‹ˆλΌ gulp-cucumber ''beforeFeature' 후크에 μ—°κ²°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이것이 λ¬Έμ œκ°€ 될 수 μžˆμŠ΅λ‹ˆλ‹€. gulp-cucumberκ°€ μ½œλ°±μ„ μ‚¬μš©ν•œλ‹€κ³  κ°€μ •ν•©λ‹ˆκΉŒ?

beforeFeature μ½”λ“œλ₯Ό μ œκ³΅ν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

λ‹€μŒμ—μ„œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

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

μŠ€νƒ 좔적을 μΈμ‡„ν•˜κΈ° μœ„ν•΄ κΏ€κΊ½ κΏ€κΊ½ κΏ€κΊ½ λ§ˆμ‹€ 수 μžˆμŠ΅λ‹ˆκΉŒ? κ·Έλ ‡κ²Œ ν•˜λ©΄ λ¬Έμ œκ°€ λ˜λŠ” μ½”λ“œκ°€ μžˆλŠ” μœ„μΉ˜λ₯Ό νŒŒμ•…ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 졜근 λ³€κ²½ 사항 쀑 ν•˜λ‚˜λŠ” 이제 registerHandlerκ°€ @SkadeGladμ—μ„œ μ„€λͺ…ν•œ 것과 μœ μ‚¬ν•œ 였λ₯˜λ₯Ό λ°œμƒμ‹œν‚¨λ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€.

λ‚˜λŠ” λ‘λ ΅μ§€λ§Œ 이것은 λ‚΄κ°€ λ³΄λŠ” λͺ¨λ“  μŠ€νƒ μΆ”μ μž…λ‹ˆλ‹€ :(

였λ₯˜κ°€ https://github.com/webdriverio/wdio-cucumber-framework 에 μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@vytautas-pranskunas- 닫을 수 μžˆμŠ΅λ‹ˆκΉŒ? ν‘œμ‹œ wdio-cucumber-frameworkκ°€ μ—…λ°μ΄νŠΈλ˜μ—ˆμŠ΅λ‹ˆλ‹€.

예. 감사 ν•΄μš”

였이-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 λ“±κΈ‰