๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
IT/Javascript

BH] Jest ๋‹จ์œ„ ํ…Œ์ŠคํŒ… ํ”„๋ ˆ์ž„์›Œํฌ

by Full~ day ๐Ÿ˜€ 2021. 11. 7.
728x90
๋ฐ˜์‘ํ˜•

๊ฐœ๋ฐœ์„ ํ•˜๋ฉด์„œ ๋‹จ์œ„ํ…Œ์ŠคํŠธ๋Š” ๊ผญ ํ•ด์•ผํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡์ง€๋งŒ ๋ง‰์ƒ ๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด ๋‹จ์œ„ํ…Œ์ŠคํŠธ๋Š” ์ „ํ˜€ ์ƒ๊ฐํ•˜์ง€ ์•Š๊ณ  ๊ฒฐ๊ณผ๋ฌผ๋งŒ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ ๋ฐ”๋นด์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‹ค๋ณด๋‹ˆ ๋‹จ์œ„ํ…Œ์ŠคํŠธ๋Š” ๊ผญ ํ•„์š”ํ•œ๊ฒŒ ๋งž์„๊นŒ ๋ผ๋Š” ๊ณ ๋ฏผ์ด ๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  ๊ทธ ๊ณ ๋ฏผ์„ ์—†์• ๊ธฐ ์œ„ํ•ด์„œ Jest๋ฅผ ๊ณต๋ถ€ํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. 

์ด๋ฒˆ Jest๋ฅผ ์„ ํƒํ•ด๋ณธ ์ด์œ ๋Š”... ์•„์ง๊นŒ์ง€๋Š” ๋‹จ์œ„ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ์ธ๊ธฐ๊ฐ€ ๋†’์•„๋ณด์˜€๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Jest๋Š” ํŽ˜์ด์Šค๋ถ ์˜คํ”ˆ์†Œ์Šค๋ผ๋„ค์š”.(๋ฉ”ํƒ€)

ํ•˜์ง€๋งŒ Jest๋ฅผ๊ณต๋ถ€ํ•ด๋ณด๋ฉด์„œ ๋ณต์žก์„ฑ๊ณผ ํšจ์œจ์„ฑ์„ ๋”ฐ์ ธ๋ณผ๊ฑฐ์˜ˆ์š”.

 

ํด๋”๋ฅผ ๋งŒ์„๊ณ  package.json ์ƒ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  jest๋ฅผ install ํ•ฉ๋‹ˆ๋‹ค.

mkdir first-jest

npm init -y

npm i -D jest

 

package.json

{
  "name": "first-jest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "jest" 
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "jest": "^27.3.1"
  }
}

์Šคํฌ๋ฆฝํŠธ์— test๊ฐ’์„ jest๋กœ ์ ์Šต๋‹ˆ๋‹ค.

 

test.jsํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

function sum(a, b) {
  return a + b;
}

test("1+2 = 3", () => {
  expect(sum(1, 2)).toBe(3);
});

npm test๋ฅผ ์ž…๋ ฅํ•˜๋ฉด

์•„๋ž˜์™€ ๊ฐ™์ด ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

jest

npm test๋ฅผ ์ž…๋ ฅํ•˜์—ฌ jest๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ฒŒ ๋˜๋ฉด jest๋Š” x.test.js, test.js์˜ ํŒŒ์ผ์€ ์ „๋ถ€ ๊ฒ€์‚ฌ ๋Œ€์ƒ์ด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฐ componentํ˜น์€ ๊ธฐ๋Šฅ ๋ณ„ ๋ถ„๋ฆฌํ•ด์„œ ํŒŒ์ผ์„ ์ž‘์„ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋„ค์š”.

app.js ์•ˆ์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์žˆ์œผ๋ฉด app.test.js ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์„œ ํ…Œ์ŠคํŠธ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์ด์ œ jest๋ฅผ ์‹œ์ž‘ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.

์กฐ๊ธˆ ๋” ํ…Œ์ŠคํŠธํ•ด๋ณด๊ณ  ๋‹ค์‹œ ์˜ฌ๊ฒŒ์š”~

 

 

์•„๋ž˜๋Š” ์ฐธ๊ณ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.

Javascript ๋™ํ–ฅ

https://www.jetbrains.com/lp/devecosystem-2021/javascript/?source=google&medium=cpc&campaign=14540090549&gclid=CjwKCAjwz5iMBhAEEiwAMEAwGK-7HseEys4lk1jEXM9vw9afJQjtTm2SQJRHBKGOvZu3G91v30KQ9hoCEbcQAvD_BwE 

 

The State of Developer Ecosystem in 2021 Infographic

The State of Developer Ecosystem 2021 is a detailed report about the programming community, which covers the latest trends in languages, tools, technologies, and lifestyles of developers.

www.jetbrains.com

 

728x90
๋ฐ˜์‘ํ˜•
LIST