4. Testing Library

ํ‚ค์›Œ๋“œ

  • Jest

  • Describe-Context-It ํŒจํ„ด

  • React Testing Library

Jest

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŒ… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๊ธฐ์กด์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด์„œ๋Š” Mocha๋‚˜ Jasmin์„ Test Runner๋กœ ์‚ฌ์šฉํ•˜๊ณ , Chai๋‚˜ Expect์™€ ๊ฐ™์€ Test Matcher๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , Sinon๊ณผ Testdouble ๊ฐ™์€ Test Mock ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋„ ํ•„์š”ํ–ˆ์ง€๋งŒ Jest๋Š” ํ•˜๋‚˜์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ์ œ๊ณต

Descibe - Context - It

https://johngrib.github.io/wiki/junit5-nested/

  • Describe : ํ…Œ์ŠคํŠธ ๋Œ€์ƒ ์„ค๋ช…

  • Context : ํ…Œ์ŠคํŠธ ๋Œ€์ƒ์ด ๋†“์ธ ์ƒํ™ฉ ์„ค๋ช…

    • with ๋˜๋Š” when์œผ๋กœ ์‹œ์ž‘

  • It : ํ…Œ์ŠคํŠธ ๋Œ€์ƒ์˜ ํ–‰๋™ ์„ค๋ช…

Describe - Context - It ํŒจํ„ด์˜ ์žฅ์ 

  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๋งŒ๋“ค์–ด ์คŒ

  • ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ฝ์„๋•Œ ์Šค์ฝ”ํ”„ ๋ฒ”์œ„๋งŒ ์‹ ๊ฒฝ์“ฐ๋ฉด ๋จ

  • ๋น ๋œจ๋ฆฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ฐพ๊ธฐ ์‰ฌ์›€

main.test.ts

function add(x: number, y: number): number {
  return x + y;
}

describe('add ํ•จ์ˆ˜', {} => {
  it('returns sum of two numbers', () => {
    expect(add(1, 2)).toBe(3);
  });
});

React Testing Library

  • ํ…Œ์ŠคํŠธ๋ฅผ ๋ Œ๋”๋ง ํ•  ๋•Œ React ์ปดํฌ๋„ŒํŠธ์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ์•„๋‹Œ ์‹ค์ œ DOM ๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉ

  • CRA์— ๋‚ด์žฅ๋˜์–ด ์žˆ์Œ

  • UI ํ…Œ์ŠคํŠธ์— ํŠนํ™”๋˜์–ด์žˆ์Œ

Last updated