[JEST ์ž…๋ฌธํ•˜๊ธฐ 1] ๐ŸŽJest ์‹œ์ž‘ํ•˜๊ธฐ๐ŸŽ

Jerryยท2023๋…„ 8์›” 5์ผ

Jest

๋ชฉ๋ก ๋ณด๊ธฐ
1/10
post-thumbnail

๐Ÿค” What is JEST?


  • Jest๋Š” JavaScript ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ
  • Babel, TypeScript, Node, React, Angular, Vue ๋“ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์ž‘๋™ํ•œ๋‹ค.

๐ŸŽ Getting Started


๊ฐ„๋‹จํ•˜๊ฒŒ ๋‘ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ๋”ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ž‘์„ฑ ๋ฐ ์‹คํ–‰ํ•ด๋ณด์ž

โš™๏ธ ํŒจํ‚ค์ง€ ์„ค์น˜ํ•˜๊ธฐ

๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด๋ณด์ž

npm install --save-dev jest

โœ๐Ÿป ํ…Œ์ŠคํŠธ ๋ฐ›์„ ํ•จ์ˆ˜ ์ฝ”๋“œ ์ž‘์„ฑ

sum.js ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋‹ค์Œ ์ฝ”๋“œ ์ž‘์„ฑ

function sum(a, b) {
  return a + b;
}
module.exports = sum;

โœ๐Ÿป ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

sum.test.js ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ  ๋‹ค์Œ ์ฝ”๋“œ ์ž‘์„ฑ

const sum = require('./sum');

test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3); // ์ด ๋ถ€๋ถ„์„ ์–ด์„ค์…˜(assertion)์ด๋ผ๊ณ  ํ•œ๋‹ค.
});

โœ๐Ÿป ํ…Œ์ŠคํŠธ ์‹คํ–‰

package.json์— ๋‹ค์Œ ์ฝ”๋“œ ์ถ”๊ฐ€

{
  "scripts": {
    "test": "jest"
  }
}

๋งˆ์ง€๋ง‰์œผ๋กœ ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ด์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰

npm test

๐Ÿ“‘ Jest ๋ฉ”์‹œ์ง€

๊ทธ๋Ÿฌ๋ฉด jest๋Š” ๋‹ค์Œ ๋ฉ”์‹œ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

> jest

 PASS  ./sum.test.js
  โœ“ adds 1 + 2 to equal 3 (1 ms)



Jest๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฒซ ๋ฒˆ์งธ ํ…Œ์ŠคํŠธ๋ฅผ ์„ฑ๊ณต์ ์œผ๋กœ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ–ˆ๋‹ค!!
์ด ํ…Œ์ŠคํŠธ์—์„œ๋Š” expect์™€ toBe๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‘ ๊ฐ’์ด ์ •ํ™•ํžˆ ๋™์ผํ•œ์ง€ ํ…Œ์ŠคํŠธํ–ˆ๋‹ค.
Jest๊ฐ€ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค๋ฅธ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค์Œ ๊ธ€์—์„œ!

์ด ๊ธ€์€ ์•„๋ž˜ ์‚ฌ์ดํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์—ฌ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค๐Ÿ™‚
https://jestjs.io/docs/getting-started

profile
I'm jerry

0๊ฐœ์˜ ๋Œ“๊ธ€