[Node.js] jest: code coverage

[์›๋ณธ ๋งํฌ]

๊ด€๋ จ ํฌ์ŠคํŠธ
https://blog.naver.com/sssang97/222009530791

ํ…Œ์ŠคํŠธ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ๋‹จ์œ„ํ…Œ์ŠคํŠธ๋ฅผ ์–ผ๋งˆ๋‚˜ ๊ผผ๊ผผํ•˜๊ฒŒ ํ–ˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์ธก๋Ÿ‰ ๊ธฐ์ค€์ด๋‹ค.
๋‹น์—ฐํžˆ 100%์— ๊ฐ€๊น๊ฒŒ ๋‹ฌ์„ฑํ•˜๋ฉด ์ข‹..๊ธด ์ข‹์€๋ฐ, ํ˜„์‹ค์ ์œผ๋กœ ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์—†๋‹ค.

๊ตฌ๋ฌธ๊ณผ ๋ผ์ธ, ๋ธŒ๋žœ์น˜, ํ•จ์ˆ˜ ๋“ฑ์˜ ๋‹จ์œ„๊ฐ€ ์žˆ๋‹ค.
๊ตฌ๋ฌธ ๋‹จ์œ„์˜ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ์›๋ณธ์†Œ์Šค์˜ ์ „์ฒด ๊ตฌ๋ฌธ ์ค‘์—์„œ ๋ช‡๊ฐœ์˜ ๊ตฌ๋ฌธ์ด jest test ํŒŒ์ผ์—์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋œปํ•˜๊ณ , ๋ผ์ธ ๋‹จ์œ„ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ์ „์ฒด ๋ผ์ธ ์ค‘์—์„œ ์–ผ๋งˆ๋‚˜ jest test์—์„œ ํ…Œ์ŠคํŠธ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.
๋‚˜๋จธ์ง€๋„ ๋™์ผํ•œ ๊ฐœ๋…์ด๋‹ค.

์ปค๋ฒ„๋ฆฌ์ง€ ๋‹ฌ์„ฑ๋„๋Š” jest CLI์— --coverage ํ”Œ๋ž˜๊ทธ๋ฅผ ์ฃผ๋ฉด ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
์ž์ฃผ ์“ธ๋งŒํ•œ ๊ธฐ๋Šฅ์ด๋‹ˆ package.json ์Šคํฌ๋ฆฝํŠธ๋กœ ๋„ฃ์–ด์ฃผ๋Š”๊ฒŒ ์ข‹๋‹ค.

jest --coverage


์ปค๋ฒ„๋ฆฌ์ง€ ์‚ฌ์šฉ๋ฒ•

์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋Ÿฐ 2๊ฐœ์˜ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋‹ค ์น˜๊ฒ ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ์ €๊ธฐ์„œ add์— ๋Œ€ํ•ด์„œ๋งŒ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๋‹ค๋ฅธ๊ฑด ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด

๋”ฑ ์ ˆ๋ฐ˜๋งŒ ๋‹ฌ์„ฑํ–ˆ๋‹ค๊ณ  ์•Œ๋ ค์ค€๋‹ค.
๋ผ์ธ ์ปค๋ฒ„๋ฆฌ์ง€๋Š” ๋ช‡๋ฒˆ์งธ ๋ผ์ธ์ด ๋น ์กŒ๋Š”์ง€๋„ ์•Œ๋ ค์ค€๋‹ค.
6๋ฒˆ์งธ ์ค„์ด๋ผ๋Š”๋ฐ,

๋งž๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ๋Œ๋ฆฌ๋ฉด coverage ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ์ƒ์„ฑ๋˜๋Š”๋ฐ, ์ปค๋ฒ„๋ฆฌ์ง€ ๊ฒฐ๊ณผ๋ฅผ ์ข€๋” ์˜ˆ์˜๊ฒŒ ๋ณด๊ณ ์‹ถ๋‹ค๋ฉด

์‹คํ–‰ํ•ด์„œ ๋ณด๋ฉด ๋œ๋‹ค.

๊ฝค ์˜ˆ์˜๊ฒŒ ํ•˜์ด๋ผ์ดํŒ…๋„ ๋œ๋‹ค.

๋ป˜๊ฑด์ƒ‰์ด ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.

์ด์ œ sub๋ฅผ ํ…Œ์ŠคํŠธ์— ์ถ”๊ฐ€ํ•ด์ฃผ๋ฉด

๊ฝ‰ ์ฐฌ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๋Œ€์ถฉ ์ด๋Ÿฐ ์‹์œผ๋กœ ํ•˜๋ฉด ๋œ๋‹ค.



์ฐธ์กฐ
https://www.daleseo.com/jest-coverage/