Cucumber-js: TypeScript์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•˜์‹ญ์‹œ์˜ค.

์— ๋งŒ๋“  2015๋…„ 05์›” 13์ผ  ยท  33์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: cucumber/cucumber-js

๋‚˜๋Š” typescript๋กœ lib๋ฅผ ๋งŒ๋“ค์—ˆ๊ณ  ๋‚ด ํ…Œ์ŠคํŠธ๋„ typescript๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ •๋ง๋กœ ์˜ค์ด.js๋ฅผ ์‹œ๋„ํ•˜๊ณ  typescript๋กœ ๋‹จ๊ณ„ ์ •์˜ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‹น์‹ ์€ coffeescript์™€ js๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. .ts๋„ ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฌธ์•ˆ ์ธ์‚ฌ

ํฌ๋ฆฌ์Šค

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

readme๊ฐ€ ์—…๋ฐ์ดํŠธ๋œ ์ดํ›„๋กœ @jbpros ๋Š” "cucumber typescript" ๋ฐœ์ทŒ๋ฌธ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ์— ๋ˆˆ์— ๋„๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ

-๋‹จ๊ณ„ ์ •์˜ ๋ฐ ์ง€์› ํŒŒ์ผ์€ javascript๋กœ ๋ณ€ํ™˜๋˜๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ์ด๊ฒƒ์€ CLI ์˜ต์…˜ --compiler <file_extension>:<module_name> ๋ฉ๋‹ˆ๋‹ค. CoffeeScript 1.10.0์˜ ๊ฒฝ์šฐ,
- ์ด๊ฒƒ์€ --compiler coffee:coffee-script/register ๋ฉ๋‹ˆ๋‹ค.
๋‹จ๊ณ„ ์ •์˜ ๋ฐ ์ง€์› ํŒŒ์ผ์€ javascript๋กœ ๋ณ€ํ™˜๋˜๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ CLI ์˜ต์…˜ --compiler <file_extension>:<module_name> ๋ฉ๋‹ˆ๋‹ค.

์ปคํ”ผ์Šคํฌ๋ฆฝํŠธ

์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ NPM ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  --compiler coffee:coffee-script/register Cucumber๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ

typescript-node NPM ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  --compiler ts:typescript-node/register Cucumber๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํ‰์†Œ์™€ ๊ฐ™์ด ๋ชจ๋“  ๋‹จ๊ณ„ ์ •์˜ ๋ฐ ์ง€์› ํŒŒ์ผ์€ Cucumber์—์„œ ์‹คํ–‰ํ•  ํ•จ์ˆ˜๋ฅผ ๋‚ด๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด TS์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

declare var module: any;
module.exports = function () {
 this.Given(/.*/, function () {
   // ...
 })
}

ํฌ๊ณ ์Šคํฌ๋ฆฝํŠธ

pogo NPM ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  --compiler pogo:pogo Cucumber๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  33 ๋Œ“๊ธ€

@Chris2011์— pull request๋ฅผ ๋ณด๋‚ด์ง€

์ €๋Š” ์ด ํ”„๋กœ์ ํŠธ์˜ ๊ณ ๊ฐ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ๊ฐ๊ฐ์˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ œ๊ฐ€ ์ง์ ‘ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฒƒ๋ณด๋‹ค ๋ˆ„๋ฝ๋œ ๋ถ€๋ถ„์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ๋Šฅ ์š”์ฒญ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์‹œ๊ฐ„์ด ์žˆ๊ณ  ๊ทธ๊ฒƒ์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์™œ ์•ˆ ๋ ๊นŒ์š”? ์ €๋Š” ์‹œ๊ฐ„์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ ์ž‘์—…๊ณผ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋™์ผํ•˜๊ณ  ์ œ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ€ํ˜นํ•œ ๋ง์„ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ์ €์—๊ฒŒ๋Š” ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌ์ž๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ๋“ฑ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@Chris2011์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ์–ธ์  ๊ฐ€ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋‹น์‹ ์„ ๋•๊ณ  ์‹ถ๊ฑฐ๋‚˜ ๋‹จ์ง€ ์žฌ๋ฏธ๋กœ ์ด๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ํ• ์• ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ณด๋‹ค ํ˜„์‹ค์ ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ทธ๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๊ณ  PR์„ ๋ณด๋‚ด๋Š” ๋ฐ ๊ธฐ๊บผ์ด ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์„ ํˆฌ์žํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ํ•„์š”ํ•  ๋•Œ๊นŒ์ง€ ์ด ๊ธฐ๋Šฅ ์š”์ฒญ์ด ์—ด๋ ค ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•„๋งˆ๋„. ๊ท€ํ•˜์˜ ์˜๊ฒฌ์— ๋Œ€ํ•ด Thx. ์ œ ์ƒ๊ฐ์—๋Š” TS๊ฐ€ 1, 2๋…„ ์ •๋„ ๋” ๋Œ€์ค‘ํ™”๋  ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ธฐ๋Šฅ์„ ์š”๊ตฌํ•˜๋Š” ๊ฒƒ์€ ๋‹จ์ง€ ๋…ผ๋ฆฌ์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ปคํ”ผ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ๋‹น์‹ ์ด๋‚˜ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ๋„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ •๋ง ๊ณ ๋งˆ์›Œ. ์šฐ๋ฆฌ๋Š” ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ๋ณผ ๊ฒƒ์ž…๋‹ˆ๋‹ค ...

์ผ๋ฐ˜์ ์œผ๋กœ ํฌ๋งทํ„ฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ•ต์‹ฌ(ํ˜„์žฌ CoffeeScript ๋ฐ PogoScript ํฌํ•จ)์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹Œ ํƒ€์‚ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์œผ๋กœ ์–ธ์–ด/๋ฐฉ์–ธ์„ ์ง€์›ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

TS +1

+1

์ข‹์•„์š”, ์ž ์‹œ๋งŒ ํ•ด์ฃผ์„ธ์š”!!!

:+1:

์–ด๋–ค ์–‘์˜ +1 ๋˜๋Š” :+1:๋„ ์ด๋Ÿฌํ•œ ์ผ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ pull ์š”์ฒญ์„ ์ œ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

:+1: @aslakhellesoy ์ž๋ฆฌ์—

:8ball: @samccone

@jbpros @aslakhellesoy ํƒ€์‚ฌ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ ์ˆ˜์ • ๋ฐฉ๋ฒ•์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

SupportCodePathExpander.SUPPORT_CODE_FILES_IN_DIR_REGEXP = /\.(js|coffee|pogo)$/;

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋ˆ„๊ตฌ๋‚˜ ์˜ˆ๋ฅผ ๋“ค์–ด support/env.js ์— ๋ชจ๋“  ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ •๊ทœ์‹์€ ์•„์˜ˆ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

๋‚˜๋Š” ์ด๊ฒƒ์„ ๋ณด๊ฒŒ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. CoffeeScript ๊ธฐ๋Šฅ ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋‹จ๊ณ„ ์ •์˜๊ฐ€ ๊ตฌํ˜„๋œ ์œ„์น˜๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ์ž‘์—…์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@SeanFarrow ์ด๋ฏธ ๋กœ์ปฌ์—์„œ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. /lib/cucumber//cli/argument_parser/support_code_path_expander.js:12 ๋ฅผ ์ˆ˜์ •ํ•œ ๋‹ค์Œ require ํ›„ํฌ๋ฅผ ํ†ตํ•ด ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํ™๋ณด๋ฅผ ๋ณด๋‚ด์‹ค ๊ฑด๊ฐ€์š”?

๋ณด๋‚ธ ์‚ฌ๋žŒ: Aleh Kashnikau [mailto:[email protected]]
๋ณด๋‚ธ ๋‚ ์งœ: 2015๋…„ 8์›” 16์ผ 19:15
๋ฐ›๋Š” ์‚ฌ๋žŒ: ์˜ค์ด/์˜ค์ด-js ์˜ค์ด [email protected]
์ฐธ์กฐ: ์ˆ€ ํŒจ๋กœ์šฐ ์ˆ€. [email protected]
์ œ๋ชฉ: Re: [cucumber-js] TypeScript ์ง€์› ์ถ”๊ฐ€(#335)

@SeanFa rowhttps://github.com/SeanFarrow ์ด๋ฏธ ๋กœ์ปฌ์—์„œ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. /lib/cucumber//cli/argument_parser/support_code_path_expander.js:12๋ฅผ ์ˆ˜์ •ํ•œ ๋‹ค์Œ ํ•„์š” ํ›„ํฌ๋ฅผ ํ†ตํ•ด ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

โ€”
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ Gi tHubhttps://github.com/cucumber/cucumber-js/issues/335#issuecomment -131598410์—์„œ ํ™•์ธํ•˜์„ธ์š”.

@mkusher ๋” ๋งŽ์€ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์™„๋ฃŒํ•˜๋ ค๋ฉด ๋‹จ๊ณ„ ์ •์˜ ์Šค๋‹ˆํŽซ์„ ์ถ”๊ฐ€ ์–ธ์–ด๋กœ๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(ํ˜„์žฌ PogoScript์—์„œ๋Š” ์ˆ˜ํ–‰๋˜์ง€ ์•Š์Œ). CLI --coffee ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์–ด์จŒ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ/ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ•ต์‹ฌ์—์„œ ๋ชจ๋“  ๋ฐฉ์–ธ(์ปคํ”ผ์Šคํฌ๋ฆฝํŠธ ํฌํ•จ)์„ ์ œ๊ฑฐํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์–ธ์–ด๋ณ„ ์ง€์›์ด ํ•„์š”ํ•œ ์ด์œ ๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๊นŒ? ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€๋กœ ๋‹จ๊ณ„ ์ •์˜๋ฅผ JavaScript๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ฒ ์Šต๋‹ˆ๊นŒ?

398์€ ๋ชจ๋“  ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ ์ง€์›์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ, #398์ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

@henrify Cucumber ์— "ํ•„์š”ํ•œ" ์œ ์ผํ•œ ๊ฒƒ์€ ๋‹ค๋ฅธ ์–ธ์–ด์— ๋Œ€ํ•œ ๋‹จ๊ณ„ ์ •์˜ ์Šค๋‹ˆํŽซ ์ง€์›์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ”๋‹๋ผ JS์— ์žˆ์œผ๋ฉฐ --coffee CLI ํ”Œ๋ž˜๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ CS์—์„œ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋น„JS ์Šค๋‹ˆํŽซ(CS ํฌํ•จ)์„ ๋ชจ๋‘ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ๊ฐ?

398์ด ๋ณ‘ํ•ฉ๋˜์—ˆ์œผ๋ฉฐ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. TypeScript ์ง€์›์€ README์— ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

readme๊ฐ€ ์—…๋ฐ์ดํŠธ๋œ ์ดํ›„๋กœ @jbpros ๋Š” "cucumber typescript" ๋ฐœ์ทŒ๋ฌธ์— ๋Œ€ํ•œ ๊ฒฐ๊ณผ์— ๋ˆˆ์— ๋„๊ฒŒ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

ํŠธ๋žœ์ŠคํŒŒ์ผ๋Ÿฌ

-๋‹จ๊ณ„ ์ •์˜ ๋ฐ ์ง€์› ํŒŒ์ผ์€ javascript๋กœ ๋ณ€ํ™˜๋˜๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
- ์ด๊ฒƒ์€ CLI ์˜ต์…˜ --compiler <file_extension>:<module_name> ๋ฉ๋‹ˆ๋‹ค. CoffeeScript 1.10.0์˜ ๊ฒฝ์šฐ,
- ์ด๊ฒƒ์€ --compiler coffee:coffee-script/register ๋ฉ๋‹ˆ๋‹ค.
๋‹จ๊ณ„ ์ •์˜ ๋ฐ ์ง€์› ํŒŒ์ผ์€ javascript๋กœ ๋ณ€ํ™˜๋˜๋Š” ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ CLI ์˜ต์…˜ --compiler <file_extension>:<module_name> ๋ฉ๋‹ˆ๋‹ค.

์ปคํ”ผ์Šคํฌ๋ฆฝํŠธ

์ปคํ”ผ ์Šคํฌ๋ฆฝํŠธ NPM ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  --compiler coffee:coffee-script/register Cucumber๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ

typescript-node NPM ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  --compiler ts:typescript-node/register Cucumber๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

ํ‰์†Œ์™€ ๊ฐ™์ด ๋ชจ๋“  ๋‹จ๊ณ„ ์ •์˜ ๋ฐ ์ง€์› ํŒŒ์ผ์€ Cucumber์—์„œ ์‹คํ–‰ํ•  ํ•จ์ˆ˜๋ฅผ ๋‚ด๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด TS์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

declare var module: any;
module.exports = function () {
 this.Given(/.*/, function () {
   // ...
 })
}

ํฌ๊ณ ์Šคํฌ๋ฆฝํŠธ

pogo NPM ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ  --compiler pogo:pogo Cucumber๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

์ •๋ง typescript-node๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? typescript-node ๋Œ€์‹  ๊ณต์‹์ ์œผ๋กœ ์ง€์›๋˜๋Š” tsc๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ฐจ์ด์ ์„ ๋ชจ๋ฅด์ง€๋งŒ tsc๋Š” Microsoft์—์„œ ๊ณต์‹์ ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

@Chris2011 ts-node ๋Š” tsc๋ฅผ ํ†ตํ•ด ์ปดํŒŒ์ผ์„ ์‹คํ–‰ํ•  node.js์šฉ ๋ ˆ์ง€์Šคํ„ฐ ํ›„ํฌ์ž…๋‹ˆ๋‹ค.

์•Œ์•˜์–ด.

@JoshuaKGoldberg ์–ด๋””์„œ ๋ฐœ์ทŒํ–ˆ์Šต๋‹ˆ๊นŒ? ๋‚ด ๊ฒ€์ƒ‰์€ ๊ทธ๊ฒƒ์„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค์ดjs๋ฅผ ์•ˆ๋‚ดํ•˜๋Š” ์ƒ˜ํ”Œ:
https://github.com/AbraaoAlves/cucumber-protractor-typescript-boilerplate

์ƒ˜ํ”Œ์— ๋Œ€ํ•ด @AbraaoAlves ์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
๋ถˆํ–‰ํžˆ๋„, ๊ทธ๊ฒƒ์€ ์˜ค์ดjs 1์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๋„๊ธฐ-์˜ค์ด-ํ”„๋ ˆ์ž„์›Œํฌ ๋ ˆ์ด์–ด๋Š” ์˜ค์ด2 rcs์™€ ํ˜ธํ™˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ค์ด ๋ณด๊ณ ์„œ์— ์Šคํฌ๋ฆฐ์ƒท์„ ์ฒจ๋ถ€ํ•˜๋Š” ๋ฐฉ๋ฒ•. ์ €๋Š” ํƒ€์ดํ”„์Šคํฌ๋ฆฝํŠธ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ฐ€ ์ข€ ๋„์™€์ฃผ์„ธ์š”.

์•ž์œผ๋กœ ์˜ค์ด+๊ฐ๋„๊ธฐ+ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”์ง€ ํ™•์ธํ•ด์ฃผ์„ธ์š”...์šฐ๋ฆฌ๋Š” ๊ตฌํ˜„์„ ์œ„ํ•ด ์กฐํ•ฉ์„ ์‚ฌ์šฉํ•  ๊ณ„ํš์ด๋ฏ€๋กœ..

@๋ผ์ž์ฆˆํŒ๋””
After ์—์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•˜์‹ญ์‹œ์˜ค.

driver.takeScreenshot().then(data => {
        attach(new Buffer(data, 'base64'), 'image/png');
      }).catch(error => {
        info(error);
        throw error;
      });

์ด ์Šค๋ ˆ๋“œ๋Š” ๋‹ซํžŒ ํ›„ ์ตœ๊ทผ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž๋™์œผ๋กœ ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ฌ์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰