TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„! ์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” IT ๋Œ€์ค‘์—๊ฒŒ ์šฐ๋ฆฌ ์ œํ’ˆ, ์ฆ‰ API ์ž‘์—…์„ ์œ„ํ•œ IDE๋ฅผ ์†Œ๊ฐœํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ๋ฉ”์ด์Šค. ์•„๋งˆ๋„ ์—ฌ๋Ÿฌ๋ถ„ ์ค‘ ์ผ๋ถ€๋Š” ์ด๋ฏธ ์šฐ๋ฆฌ์— ๋Œ€ํ•ด ์•Œ๊ณ  ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด์ „ ๊ธฐ์‚ฌ. ๊ทธ๋Ÿฌ๋‚˜ ๋„๊ตฌ์— ๋Œ€ํ•œ ํฌ๊ด„์ ์ธ ๊ฒ€ํ† ๊ฐ€ ์—†์—ˆ์œผ๋ฏ€๋กœ ์ด ๋ถˆํ–‰ํ•œ ๋‹จ์ ์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

์ž๊ทน

์‹ค์ œ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ด ์„ธ์ƒ์— ์™”๊ณ  API๋ฅผ ์‚ฌ์šฉํ•œ ๊ณ ๊ธ‰ ์ž‘์—…์„ ์œ„ํ•œ ์ž์ฒด ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋Š”์ง€๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ œํ’ˆ์ด ๊ฐ€์ ธ์•ผ ํ•  ๊ธฐ๋Šฅ ๋ชฉ๋ก๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ์˜๊ฒฌ์œผ๋กœ๋Š” "API ์ž‘์—…์„ ์œ„ํ•œ IDE"๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฟผ๋ฆฌ ๋ฐ ์Šคํฌ๋ฆฝํŠธ ์ƒ์„ฑ ๋ฐ ์‹คํ–‰(์ฟผ๋ฆฌ ์‹œํ€€์Šค)
  • ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ
  • ํ…Œ์ŠคํŠธ ์ƒ์„ฑ
  • Swagger, OpenAPI, WADL ๋“ฑ๊ณผ ๊ฐ™์€ ํ˜•์‹์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํฌํ•จํ•˜์—ฌ API ์„ค๋ช… ์ž‘์—…
  • ์กฐ๋กฑ ์š”์ฒญ
  • ์ธ๊ธฐ ์žˆ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํ†ตํ•ฉ์„ ํฌํ•จํ•˜์—ฌ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ์„ ์œ„ํ•œ ํ•˜๋‚˜ ์ด์ƒ์˜ ์–ธ์–ด์— ๋Œ€ํ•œ ์šฐ์ˆ˜ํ•œ ์ง€์›
  • ๊ธฐํƒ€

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

๋ˆ„๊ฐ€ ๊ทธ๋Ÿฐ ๋„๊ตฌ๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๊นŒ? ๋ถ„๋ช…ํžˆ API ๊ฐœ๋ฐœ ๋ฐ ํ…Œ์ŠคํŠธ์™€ ์ ์–ด๋„ ์–ด๋–ป๊ฒŒ๋“  ์—ฐ๊ฒฐ๋œ ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์€ ๊ฐœ๋ฐœ์ž ๋ฐ ํ…Œ์Šคํ„ฐ์ž…๋‹ˆ๋‹ค =). ๋˜ํ•œ ์ „์ž์˜ ๊ฒฝ์šฐ ๋‹จ์ผ ์ฟผ๋ฆฌ์™€ ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•˜๋‹ค๋ฉด ํ…Œ์Šคํ„ฐ์˜ ๊ฒฝ์šฐ ์ด๋Š” ์ฃผ์š” ๋„๊ตฌ ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ ๋ฌด์—‡๋ณด๋‹ค๋„ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. CI.

๊ทธ๋ž˜์„œ ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์ง€์นจ์— ๋”ฐ๋ผ ์ œํ’ˆ์„ ๋งŒ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๋ฌด์—‡์„ ๋‹ฌ์„ฑํ–ˆ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋น ๋ฅธ ์‹œ์ž‘

์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ์•„๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์šฐ๋ฆฌ ์›น์‚ฌ์ดํŠธ์—์„œ. ํ˜„์žฌ Windows, Linux, MacOS ๋“ฑ 3๊ฐ€์ง€ ์ฃผ์š” ํ”Œ๋žซํผ์ด ๋ชจ๋‘ ์ง€์›๋ฉ๋‹ˆ๋‹ค. ๋‹ค์šด๋กœ๋“œ, ์„ค์น˜, ์‹คํ–‰. ์ฒ˜์Œ ์‹คํ–‰ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฐฝ์ด ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์„ ์ƒ์„ฑํ•˜๋ ค๋ฉด ์ฝ˜ํ…์ธ  ์˜์—ญ ์ƒ๋‹จ์— ์žˆ๋Š” ๋”ํ•˜๊ธฐ ๊ธฐํ˜ธ๋ฅผ ํด๋ฆญํ•˜์„ธ์š”. ์ฟผ๋ฆฌ ํƒญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

์ข€ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ๋‚˜๋จธ์ง€ ํด๋ผ์ด์–ธํŠธ์˜ ์ธํ„ฐํŽ˜์ด์Šค์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜๋ฏ€๋กœ ์œ ์‚ฌํ•œ ๋„๊ตฌ์—์„œ ๋” ์‰ฝ๊ฒŒ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. URL์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์„ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. https://next.json-generator.com/api/json/get/NJv-NT-U8

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

์ผ๋ฐ˜์ ์œผ๋กœ ์–ธ๋œป๋ณด๊ธฐ์— ์‘๋‹ต ํŒจ๋„๋„ ๋†€๋ผ์›€์„ ํ‘œ์‹œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์— ์ฃผ๋ชฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

  1. ์‘๋‹ต ๋ณธ๋ฌธ์€ ํŠธ๋ฆฌ ํ˜•์‹์œผ๋กœ ํ‘œ์‹œ๋˜๋ฉฐ, ๋จผ์ € ์ •๋ณด ์ฝ˜ํ…์ธ ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ๋‘ ๋ฒˆ์งธ๋กœ ์•„๋ž˜์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ฃผ์–ด์ง„ ์š”์ฒญ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ ๋ชฉ๋ก์„ ํ‘œ์‹œํ•˜๋Š” ์–ด์„ค์…˜ ํƒญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณด์‹œ๋‹ค์‹œํ”ผ, ์šฐ๋ฆฌ ๋„๊ตฌ๋Š” ํŽธ๋ฆฌํ•œ ํœด์‹ ํด๋ผ์ด์–ธํŠธ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ ๊ธฐ๋Šฅ์ด ์š”์ฒญ ์ „์†ก์—๋งŒ ์ œํ•œ๋˜์–ด ์žˆ๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” ์—ฌ๊ธฐ์— ์žˆ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ TestMace์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๊ฐœ๋… ๋ฐ ๊ธฐ๋Šฅ

๋…ธ๋“œ

TestMace ๊ธฐ๋Šฅ์€ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๋…ธ๋“œ๋กœ ๊ตฌ๋ถ„๋ฉ๋‹ˆ๋‹ค. ์œ„์˜ ์˜ˆ์—์„œ๋Š” RequestStep ๋…ธ๋“œ์˜ ์ž‘๋™์„ ์‹œ์—ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ œ ๋‹ค์Œ ์œ ํ˜•์˜ ๋…ธ๋“œ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋…ธ๋“œ๋Š” ์Šคํฌ๋ž˜์น˜("์ผํšŒ์„ฑ" ์ฟผ๋ฆฌ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์™ผ์ชฝ ํ•˜๋‹จ ํŒจ๋„)์™€ ํ”„๋กœ์ ํŠธ(์™ผ์ชฝ ์ƒ๋‹จ ํŒจ๋„)์— ์žˆ์œผ๋ฉฐ ์ด์— ๋Œ€ํ•ด ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ณ„ํš

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

ํ”„๋กœ์ ํŠธ์˜ ์ฃผ์š” ๋ชฉ์ ์€ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ๊ฐœ๋ฐœ ๋‚ด์šฉ์„ ์ €์žฅํ•˜๊ณ  ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ์ถ”๊ฐ€๋กœ ๋™๊ธฐํ™”ํ•˜๊ณ  CI์—์„œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ฒ€ํ† ํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

๋ณ€์ˆ˜๋“ค

๋ณ€์ˆ˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฃผ์š” ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. TestMace์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•˜๋Š” ๋ถ„๋“ค์€ ์ด๋ฏธ ์šฐ๋ฆฌ๊ฐ€ ๋งํ•˜๋Š” ๋‚ด์šฉ์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋ฅผ ๊ฐ–๊ณ  ๊ณ„์‹ค ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณ€์ˆ˜๋Š” ๊ณตํ†ต ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋…ธ๋“œ ๊ฐ„ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด Postman ๋˜๋Š” Insomnia์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋Š” ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์šฐ๋ฆฌ๋Š” ๋” ๋‚˜์•„๊ฐ€ ์ฃผ์ œ๋ฅผ ๋ฐœ์ „์‹œ์ผฐ์Šต๋‹ˆ๋‹ค. TestMace์—์„œ๋Š” ๋…ธ๋“œ ์ˆ˜์ค€์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋Š. ๋˜ํ•œ ์กฐ์ƒ์œผ๋กœ๋ถ€ํ„ฐ ๋ณ€์ˆ˜๋ฅผ ์ƒ์†๋ฐ›๊ณ  ์ž์†์—์„œ ๋ณ€์ˆ˜๊ฐ€ ๊ฒน์น˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋‚ด์žฅ ๋ณ€์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ๋‚ด์žฅ ๋ณ€์ˆ˜์˜ ์ด๋ฆ„์€ ๋‹ค์Œ์œผ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. $. ๋‹ค์Œ์€ ๊ทธ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  • $prevStep โ€” ์ด์ „ ๋…ธ๋“œ์˜ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋งํฌ
  • $nextStep โ€” ๋‹ค์Œ ๋…ธ๋“œ์˜ ๋ณ€์ˆ˜์— ๋Œ€ํ•œ ๋งํฌ
  • $parent - ๊ฐ™์€ ์ผ์ด์ง€๋งŒ ์กฐ์ƒ์—๊ฒŒ๋งŒ ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค.
  • $response - ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ์˜ ์‘๋‹ต
  • $env - ํ˜„์žฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜
  • $dynamicVar - ์Šคํฌ๋ฆฝํŠธ ๋˜๋Š” ์ฟผ๋ฆฌ ์‹คํ–‰ ์ค‘์— ์ƒ์„ฑ๋œ ๋™์  ๋ณ€์ˆ˜

$env - ์ด๋Š” ๋ณธ์งˆ์ ์œผ๋กœ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ์ ํŠธ ๋…ธ๋“œ ๋ ˆ๋ฒจ ๋ณ€์ˆ˜์ด์ง€๋งŒ, ์„ ํƒํ•œ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ธํŠธ๊ฐ€ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

๋ณ€์ˆ˜๋Š” ๋‹ค์Œ์„ ํ†ตํ•ด ์•ก์„ธ์Šค๋ฉ๋‹ˆ๋‹ค. ${variable_name}
๋ณ€์ˆ˜์˜ ๊ฐ’์€ ๋‹ค๋ฅธ ๋ณ€์ˆ˜์ผ ์ˆ˜๋„ ์žˆ๊ณ  ์ „์ฒด ํ‘œํ˜„์‹์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, url ๋ณ€์ˆ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ‘œํ˜„์‹์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
http://${host}:${port}/${endpoint}.

์ด์™€ ๋ณ„๋„๋กœ ์Šคํฌ๋ฆฝํŠธ ์‹คํ–‰ ์ค‘์— ๋ณ€์ˆ˜๋ฅผ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ๋„ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋กœ๊ทธ์ธ ์„ฑ๊ณต ํ›„ ์„œ๋ฒ„์—์„œ ๋ฐ›์€ ์ธ์ฆ ๋ฐ์ดํ„ฐ(ํ† ํฐ ๋˜๋Š” ์ „์ฒด ํ—ค๋”)๋ฅผ ์ €์žฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์Šต๋‹ˆ๋‹ค. TestMace๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ƒ ์ค‘ ํ•˜๋‚˜์˜ ๋™์  ๋ณ€์ˆ˜์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ ์กด์žฌํ•˜๋Š” "์ •์ " ๋ณ€์ˆ˜์™€์˜ ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋™์  ๋ณ€์ˆ˜๋Š” ๋ณ„๋„์˜ ๊ฐ์ฒด์— ๋ฐฐ์น˜๋ฉ๋‹ˆ๋‹ค. $dynamicVar.

์‹œ๋‚˜๋ฆฌ์˜ค

์œ„์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ „์ฒด ์ฟผ๋ฆฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์—”ํ„ฐํ‹ฐ ๋งŒ๋“ค๊ธฐ -> ์—”ํ„ฐํ‹ฐ ์ฟผ๋ฆฌ -> ์—”ํ„ฐํ‹ฐ ์‚ญ์ œ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ด ๊ฒฝ์šฐ ํด๋” ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ RequestStep ๋…ธ๋“œ๋ฅผ ๊ทธ๋ฃนํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋™ ์™„์„ฑ ๋ฐ ํ‘œํ˜„ ๊ฐ•์กฐ ํ‘œ์‹œ

๋ณ€์ˆ˜๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ž๋™ ์™„์„ฑ ๊ธฐ๋Šฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก , ํŠน์ • ๋ณ€์ˆ˜๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ํ‘œํ˜„์‹์˜ ๊ฐ’์„ ๊ฐ•์กฐ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ ๋ฒˆ ๋“ฃ๋Š” ๊ฒƒ๋ณด๋‹ค ํ•œ ๋ฒˆ ๋ณด๋Š” ๊ฒƒ์ด ๋” ๋‚˜์€ ๊ฒฝ์šฐ๊ฐ€ ๋ฐ”๋กœ ์ด๊ฒƒ์ด๋‹ค.

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

์ž๋™ ์™„์„ฑ์€ ๋ณ€์ˆ˜๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ—ค๋”, ํŠน์ • ํ—ค๋” ๊ฐ’(์˜ˆ: Content-Type ํ—ค๋”์˜ ์ž๋™ ์™„์„ฑ), ํ”„๋กœํ† ์ฝœ ๋“ฑ์— ๋Œ€ํ•ด์„œ๋„ ๊ตฌํ˜„๋œ๋‹ค๋Š” ์ ์€ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์„ฑ์žฅํ•จ์— ๋”ฐ๋ผ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค.

์‹คํ–‰ ์ทจ์†Œ/๋‹ค์‹œ ์‹คํ–‰

๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹คํ–‰ ์ทจ์†Œ/๋‹ค์‹œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ํŽธ๋ฆฌํ•œ ์ž‘์—…์ด์ง€๋งŒ ์–ด๋–ค ์ด์œ ๋กœ๋“  ๋ชจ๋“  ๊ณณ์—์„œ ๊ตฌํ˜„๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค(API ์ž‘์—… ๋„๊ตฌ๋„ ์˜ˆ์™ธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค). ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ๋Š” ๊ทธ๋Ÿฐ ์‚ฌ๋žŒ์ด ์•„๋‹™๋‹ˆ๋‹ค!) ์ „์ฒด ํ”„๋กœ์ ํŠธ์— ๊ฑธ์ณ ์‹คํ–‰ ์ทจ์†Œ/๋‹ค์‹œ ์‹คํ–‰์„ ๊ตฌํ˜„ํ•˜์—ฌ ํŠน์ • ๋…ธ๋“œ ํŽธ์ง‘๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ƒ์„ฑ, ์‚ญ์ œ, ์ด๋™ ๋“ฑ์„ ์‹คํ–‰ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ž‘์—…์—๋Š” ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ…Œ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ

์–ด์„ค์…˜ ๋…ธ๋“œ๋Š” ํ…Œ์ŠคํŠธ ์ƒ์„ฑ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋Š” ๋‚ด์žฅ ํŽธ์ง‘๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—†์ด ํ…Œ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์–ด์„ค์…˜ ๋…ธ๋“œ๋Š” ์–ด์„ค์…˜ ์ง‘ํ•ฉ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ฐ ์–ด์„ค์…˜์—๋Š” ๊ณ ์œ ํ•œ ์œ ํ˜•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ์–ด์„ค์…˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ฐ’ ๋น„๊ต - ๋‹จ์ˆœํžˆ 2๊ฐœ์˜ ๊ฐ’์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. ๋น„๊ต ์—ฐ์‚ฐ์ž์—๋Š” ๊ฐ™์Œ, ๊ฐ™์ง€ ์•Š์Œ, ๋ณด๋‹ค ํผ, ํฌ๊ฑฐ๋‚˜ ๊ฐ™์Œ, ์ž‘์Œ, ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์Œ ๋“ฑ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋น„๊ต ์—ฐ์‚ฐ์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  2. ๊ฐ’ ํฌํ•จ - ๋ฌธ์ž์—ด์—์„œ ํ•˜์œ„ ๋ฌธ์ž์—ด์˜ ๋ฐœ์ƒ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  3. XPath - XML์˜ ์„ ํƒ๊ธฐ์— ํŠน์ • ๊ฐ’์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  4. JavaScript ์–ด์„ค์…˜์€ ์„ฑ๊ณต ์‹œ true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  ์‹คํŒจ ์‹œ false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ž„์˜์˜ javascript ์Šคํฌ๋ฆฝํŠธ์ž…๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰ ํ•˜๋‚˜๋งŒ ์‚ฌ์šฉ์ž์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์ด ํ•„์š”ํ•˜๊ณ  ๋‚˜๋จธ์ง€ 3๊ฐœ์˜ ์–ด์„ค์…˜์€ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋น„๊ต ๊ฐ’ ์–ด์„ค์…˜์„ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€ํ™” ์ƒ์ž๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

๊ฐ€์žฅ ์ข‹์€ ์ ์€ ์‘๋‹ต์—์„œ ๋‹จ์–ธ๋ฌธ์„ ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•œ๋ฒˆ ์‚ดํŽด๋ณด์„ธ์š”!

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์ฃผ์žฅ์—๋Š” ๋ถ„๋ช…ํ•œ ํ•œ๊ณ„๊ฐ€ ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฃผ์žฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ TestMace๋Š” ์ž๋™ ์™„์„ฑ, ๊ตฌ๋ฌธ ๊ฐ•์กฐ ๋ฐ ์ •์  ๋ถ„์„๊ธฐ๋ฅผ ๊ฐ–์ถ˜ ํŽธ์•ˆํ•œ ํ™˜๊ฒฝ๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

API ์„ค๋ช…

TestMace๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ API๋ฅผ ๋ฌธ์„œํ™”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์„ค๋ช… ์ž์ฒด๋„ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ์–ด ํ”„๋กœ์ ํŠธ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„์— ์œ ๊ธฐ์ ์œผ๋กœ ๋“ค์–ด๋งž์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ˜„์žฌ Swagger 2.0/OpenAPI 3.0 ํ˜•์‹์—์„œ API ์„ค๋ช…์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค๋ช… ์ž์ฒด๋Š” ๋‹จ์ง€ ์ค‘์š”ํ•˜์ง€ ์•Š์œผ๋ฉฐ ํ”„๋กœ์ ํŠธ์˜ ๋‚˜๋จธ์ง€ ๋ถ€๋ถ„๊ณผ ๊ธด๋ฐ€ํ•˜๊ฒŒ ํ†ตํ•ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ URL, HTTP ํ—ค๋”, ์ฟผ๋ฆฌ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋“ฑ์˜ ์ž๋™ ์™„์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์•ž์œผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. API ์„ค๋ช…์— ๋Œ€ํ•œ ์‘๋‹ต ์ค€์ˆ˜๋ฅผ ์œ„ํ•ด.

๊ณต์œ  ๋…ธ๋“œ

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

์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ์ €์žฅ ํ˜•์‹

ํ˜„์žฌ ๊ฐ ๋…ธ๋“œ๋Š” yml ํ™•์žฅ์ž๋ฅผ ๊ฐ€์ง„ ๋ณ„๋„์˜ ํŒŒ์ผ(์–ด์„ค์…˜ ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ)์— ์ €์žฅ๋˜๊ฑฐ๋‚˜ ๋…ธ๋“œ ์ด๋ฆ„๊ณผ index.yml ํŒŒ์ผ์ด ํฌํ•จ๋œ ํด๋”์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด ์œ„ ๋ฆฌ๋ทฐ์—์„œ ์ž‘์„ฑํ•œ ์š”์ฒญ ํŒŒ์ผ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

index.yml

children: []
variables: {}
type: RequestStep
assignVariables: []
requestData:
  request:
    method: GET
    url: 'https://next.json-generator.com/api/json/get/NJv-NT-U8'
  headers: []
  disabledInheritedHeaders: []
  params: []
  body:
    type: Json
    jsonBody: ''
    xmlBody: ''
    textBody: ''
    formData: []
    file: ''
    formURLEncoded: []
  strictSSL: Inherit
authData:
  type: inherit
name: Scratch 1

๋ณด์‹œ๋‹ค์‹œํ”ผ ๋ชจ๋“  ๊ฒƒ์ด ๋งค์šฐ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค. ์›ํ•˜๋Š” ๊ฒฝ์šฐ ์ด ํ˜•์‹์„ ์ˆ˜๋™์œผ๋กœ ์‰ฝ๊ฒŒ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ํด๋” ๊ณ„์ธต ๊ตฌ์กฐ๋Š” ํ”„๋กœ์ ํŠธ์˜ ๋…ธ๋“œ ๊ณ„์ธต ๊ตฌ์กฐ์™€ ์™„์ „ํžˆ ๋ฐ˜๋ณต๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ๋‹ค์Œ ๊ตฌ์กฐ๋กœ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค(ํด๋” ๊ณ„์ธต๋งŒ ํ‘œ์‹œ๋˜์ง€๋งŒ ๋ณธ์งˆ์€ ๋ช…ํ™•ํ•จ).

TestMace - API ์ž‘์—…์„ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ IDE

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ”„๋กœ์ ํŠธ ๊ฒ€ํ†  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

Postman์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ

์œ„์˜ ๋‚ด์šฉ์„ ๋ชจ๋‘ ์ฝ์€ ํ›„ ์ผ๋ถ€ ์‚ฌ์šฉ์ž๋Š” ์ƒˆ๋กœ์šด ์ œํ’ˆ์„ ์‚ฌ์šฉํ•ด ๋ณด๊ฑฐ๋‚˜ (๋งž์Šต๋‹ˆ๊นŒ?) ํ”„๋กœ์ ํŠธ์—์„œ ์™„์ „ํžˆ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์–ดํ•˜๊ฑฐ๋‚˜ (๋†๋‹ด์ด ์•„๋‹™๋‹ˆ๋‹ค!) ํ•ด๋‹น ์ œํ’ˆ์„ ์™„์ „ํžˆ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์–ดํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์ผํ•œ Postman์—์„œ ๋งŽ์€ ์ˆ˜์˜ ๊ฐœ๋ฐœ๋กœ ์ธํ•ด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ TestMace๋Š” Postman์—์„œ ์ปฌ๋ ‰์…˜ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ๋Š” ํ…Œ์ŠคํŠธ ์—†๋Š” ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ์ง€์›๋˜์ง€๋งŒ ํ–ฅํ›„ ์ง€์›๋„ ๋ฐฐ์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ณ„ํš

์ง€๊ธˆ๊นŒ์ง€ ์ฝ์–ด์ฃผ์‹  ๋งŽ์€ ๋ถ„๋“ค์ด ์ €ํฌ ์ œํ’ˆ์„ ์ข‹์•„ํ•˜์…จ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์ด ์ „๋ถ€๋Š” ์•„๋‹™๋‹ˆ๋‹ค! ์ œํ’ˆ ์ž‘์—…์ด ํ•œ์ฐฝ ์ง„ํ–‰ ์ค‘์ด๋ฉฐ ๊ณง ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ธ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ ๋™๊ธฐํ™”

๊ฐ€์žฅ ๋งŽ์ด ์š”์ฒญ๋œ ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์šฐ๋ฆฌ๋Š” ๋™๊ธฐํ™”๋ฅผ ์œ„ํ•ด ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ์ œ์•ˆํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์ €์žฅ์†Œ์— ๋” ์นœ์ˆ™ํ•œ ํ˜•์‹์„ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ์ž‘์—… ํ๋ฆ„์€ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์ ํ•ฉํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ์„œ๋ฒ„๋ฅผ ํ†ตํ•ด ๋งŽ์€ ์‚ฌ๋žŒ์—๊ฒŒ ์นœ์ˆ™ํ•œ ๋™๊ธฐํ™” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

CLI

์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด IDE ์ˆ˜์ค€ ์ œํ’ˆ์€ ๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์›Œํฌํ”Œ๋กœ์™€์˜ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํ†ตํ•ฉ ์—†์ด๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. CLI๋Š” TestMace๋กœ ์ž‘์„ฑ๋œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง€์†์ ์ธ ํ†ตํ•ฉ ํ”„๋กœ์„ธ์Šค์— ํ†ตํ•ฉํ•˜๋Š” ๋ฐ ๊ผญ ํ•„์š”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. CLI ์ž‘์—…์ด ๋ณธ๊ฒฉ์ ์œผ๋กœ ์ง„ํ–‰๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ดˆ๊ธฐ ๋ฒ„์ „์—์„œ๋Š” ๊ฐ„๋‹จํ•œ ์ฝ˜์†” ๋ณด๊ณ ์„œ๋กœ ํ”„๋กœ์ ํŠธ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋Š” JUnit ํ˜•์‹์œผ๋กœ ๋ณด๊ณ ์„œ ์ถœ๋ ฅ์„ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.

ํ”Œ๋Ÿฌ๊ทธ์ธ ์‹œ์Šคํ…œ

์šฐ๋ฆฌ ๋„๊ตฌ์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์†”๋ฃจ์…˜์ด ํ•„์š”ํ•œ ์‚ฌ๋ก€๋Š” ๋ฌดํ•œํ•ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ํŠน์ • ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ ์ž‘์—…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์•ž์œผ๋กœ ์šฐ๋ฆฌ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ SDK๋ฅผ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ด๋ฉฐ ๊ฐ ๊ฐœ๋ฐœ์ž๋Š” ์›ํ•˜๋Š” ๋Œ€๋กœ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋…ธ๋“œ ์œ ํ˜•์˜ ๋ฒ”์œ„ ํ™•์žฅ

์ด ๋…ธ๋“œ ์„ธํŠธ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์š”๊ตฌํ•˜๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๋‹ค๋ฃจ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ์˜ˆ์ •์ธ ๋…ธ๋“œ:

  • ์Šคํฌ๋ฆฝํŠธ ๋…ธ๋“œ - js ๋ฐ ํ•ด๋‹น API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ฐฐ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ์œ ํ˜•์˜ ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Postman์—์„œ ์‚ฌ์ „ ์š”์ฒญ ๋ฐ ์‚ฌํ›„ ์š”์ฒญ ์Šคํฌ๋ฆฝํŠธ์™€ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • GraphQL ๋…ธ๋“œ - graphql ์ง€์›
  • ์‚ฌ์šฉ์ž ์ •์˜ ์–ด์„ค์…˜ ๋…ธ๋“œ - ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ์กด ์–ด์„ค์…˜ ์„ธํŠธ๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ๋‹น์—ฐํžˆ ์ด๊ฒƒ์€ ์ตœ์ข… ๋ชฉ๋ก์ด ์•„๋‹ˆ๋ฉฐ ๋ฌด์—‡๋ณด๋‹ค๋„ ๊ท€ํ•˜์˜ ํ”ผ๋“œ๋ฐฑ์„ ํ†ตํ•ด ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ž์ฃผํ•˜๋Š” ์งˆ๋ฌธ

๋‹น์‹ ์€ ํฌ์ŠคํŠธ๋งจ๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฐ€์š”?

  1. ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋Šฅ์„ ๊ฑฐ์˜ ๋์—†์ด ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋…ธ๋“œ ๊ฐœ๋…
  2. ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ํ˜•์‹์œผ๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์ €์žฅํ•˜์—ฌ ๋ฒ„์ „ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—†์ด ํ…Œ์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ ๋ฐ ํ…Œ์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ๊ณ ๊ธ‰ js ์ง€์›(์ž๋™ ์™„์„ฑ, ์ •์  ๋ถ„์„๊ธฐ)
  4. ๊ณ ๊ธ‰ ์ž๋™ ์™„์„ฑ ๋ฐ ๋ณ€์ˆ˜์˜ ํ˜„์žฌ ๊ฐ’ ๊ฐ•์กฐ ํ‘œ์‹œ

์˜คํ”ˆ์†Œ์Šค ์ œํ’ˆ์ธ๊ฐ€์š”?

์•„๋‹ˆ์š”, ํ˜„์žฌ๋Š” ์†Œ์Šค๊ฐ€ ํ์‡„๋˜์–ด ์žˆ์ง€๋งŒ ํ–ฅํ›„ ์†Œ์Šค ๊ณต๊ฐœ ๊ฐ€๋Šฅ์„ฑ์„ ๊ณ ๋ คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹น์‹ ์€ ๋ฌด์—‡์œผ๋กœ ์‚ด์•„์š”?)

๋ฌด๋ฃŒ ๋ฒ„์ „๊ณผ ํ•จ๊ป˜ ์œ ๋ฃŒ ๋ฒ„์ „๋„ ์ถœ์‹œํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์ฃผ๋กœ ๋™๊ธฐํ™”์™€ ๊ฐ™์ด ์„œ๋ฒ„์ธก์ด ํ•„์š”ํ•œ ์‚ฌํ•ญ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

์šฐ๋ฆฌ ํ”„๋กœ์ ํŠธ๋Š” ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๋ฅผ ํ–ฅํ•ด ๋น„์•ฝ์ ์œผ๋กœ ์›€์ง์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๋‹น ์ œํ’ˆ์€ ์ด๋ฏธ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์ดˆ๊ธฐ ์‚ฌ์šฉ์ž๋“ค์˜ ๊ธ์ •์ ์ธ ํ”ผ๋“œ๋ฐฑ์ด ์ด๋ฅผ ์ฆ๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ์™€์˜ ๊ธด๋ฐ€ํ•œ ํ˜‘๋ ฅ ์—†์ด๋Š” ์ข‹์€ ๋„๊ตฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ํ”ผ๋“œ๋ฐฑ์„ ์ ๊ทน์ ์œผ๋กœ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์šฐ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

๊ณต์‹ ์›น ์‚ฌ์ดํŠธ

ํ…”๋ ˆ๊ทธ๋žจ

๋Š์Šจํ•˜๊ฒŒ

ํŽ˜์ด์Šค๋ถ

์ด์Šˆ ํŠธ๋ž˜์ปค

์—ฌ๋Ÿฌ๋ถ„์˜ ํฌ๋ง๊ณผ ์ œ์•ˆ์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€