개발 μ‹œλ‚˜λΈŒλ‘œ

Jest μ‚¬μš©λ²•

youngdeok 2023. 4. 8. 18:27

Jest μ‚¬μš© 방법

Jestλž€

  • JestλŠ” νŽ˜μ΄μŠ€λΆμ—μ„œ λ§Œλ“€μ–΄μ„œ React와 λ”λΆˆμ–΄ λ§Žμ€ μžλ°”μŠ€ν¬λ¦½νŠΈ κ°œλ°œμžλ“€λ‘œ λΆ€ν„° 쒋은 λ°˜μ‘μ„ μ–»κ³  μžˆλŠ” ν…ŒμŠ€νŒ… λΌμ΄λΈŒλŸ¬λ¦¬μž…λ‹ˆλ‹€.
  • λ‚΄κ°€ μž‘μ„±ν•œ μ½”λ“œκ°€ μ œλŒ€λ‘œ λ™μž‘ν•˜λŠ”μ§€ 확인할 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
  • μ—¬λŸ¬κ°€μ§€ 상황듀을 μ„€μ •ν•˜κ³ , κ·Έ 상황에 λ§žλŠ” κ²°κ³Όκ°€ λ‚˜μ˜€λŠ”μ§€ μžλ™μœΌλ‘œ ν…ŒμŠ€νŠΈ 해쀄 수 μžˆμŠ΅λ‹ˆλ‹€.
  • μΆœμ‹œ μ΄ˆκΈ°μ—λŠ” ν”„λ‘ νŠΈμ—”λ“œμ—μ„œ 주둜 μ“°μ˜€μ§€λ§Œ μ΅œκ·Όμ—λŠ” λ°±μ—”λ“œμ—μ„œλ„ 기쑴의 μžλ°”μŠ€ν¬λ¦½νŠΈ ν…ŒμŠ€νŒ… 라이브러리λ₯Ό λŒ€μ²΄ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

μ„€μΉ˜

μ‚¬μš© ν•˜κ³  싢은 라이브러리의 λ£¨νŠΈμ— μ•„λž˜ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•©λ‹ˆλ‹€.
$ npm init -y
$ npm i -D jest babel-jest @babel/core @babel/preset-env

μ„€μ •

“package.json” μ•ˆμ— μΆ”κ°€ ν•©λ‹ˆλ‹€.

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

“babel.config.cjs” νŒŒμΌμ„ 생성해 μ€€λ’€ μ•„λž˜ λ‚΄μš©μ„ 적어 바벨 μ μš©μ‹œ preset을 μ μš©ν•  수 있게 ν•΄μ€λ‹ˆλ‹€.

module.exports = {
  presets: [
    [
      '@babel/preset-env',
      {
        targets: {
          node: 'current'
        }
      }
    ]
  ]
};

ν…ŒμŠ€νŠΈ μ½”λ“œ μž‘μ„±

test.js νŒŒμΌμ„ λ§Œλ“€μ–΄ 쀀뒀에

test("1 is 1", () => {
  expect(1).toBe(1);
});

npm test λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ ν•©λ‹ˆλ‹€.

$ npm test

> my-jest@1.0.0 test /my-jest
> jest

 PASS  ./test.js
  βœ“ 1 is 1 (3ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        0.868s, estimated 1s
Ran all test suites.

자주 μ‚¬μš©λ˜λŠ” macher

μ œκ°€ μ λŠ” 것 보닀 λ„ˆλ¬΄ 잘 정리해 μ£Όμ…”μ„œ μ•„λž˜ 링크λ₯Ό 타고 λ“€μ–΄κ°€ 확인해 λ³΄μ„Έμš”!!!

https://inpa.tistory.com/entry/JEST-πŸ“š-ν…ŒμŠ€νŠΈμ—-μœ μš©ν•œ-ν•¨μˆ˜-only-skip-describe-it

 

[JEST] πŸ“š ν…ŒμŠ€νŠΈμ— μœ μš©ν•œ ν•¨μˆ˜ - only() / skip() / describe() / it()

only() / skip() ν…ŒμŠ€νŠΈ μ½”λ“œλ₯Ό 디버깅할 λ•Œ μœ μš©ν•œ ν•¨μˆ˜ 이닀. ν…ŒμŠ€νŠΈ 파일 μ•ˆμ— ν…ŒμŠ€νŠΈ ν•¨μˆ˜λ“€ μ€‘μ—μ„œ ν•˜λ‚˜λ§Œ μ‹€νŒ¨ν–ˆμ„ 경우, κ·Έ ν•¨μˆ˜λ§Œ λ‹¨λ…μœΌλ‘œ 싀행해보고 싢을 λ•Œκ°€ μžˆμ„ 것이닀. 그럴 λ•ŒλŠ” ν•΄

inpa.tistory.com

μ°Έμ‘°.

https://www.daleseo.com/jest-basic/

 

Jest둜 기본적인 ν…ŒμŠ€νŠΈ μž‘μ„±ν•˜κΈ°

Engineering Blog by Dale Seo

www.daleseo.com

https://inpa.tistory.com/entry/JEST-πŸ“š-ν…ŒμŠ€νŠΈμ—-μœ μš©ν•œ-ν•¨μˆ˜-only-skip-describe-it