pnpm sonamu test ๋ช
๋ น์ด๋ ์คํ ์ค์ธ dev ์๋ฒ์ Vitest ์ธ์คํด์ค๋ฅผ ํตํด ํ
์คํธ๋ฅผ ์คํํฉ๋๋ค. dev ์๋ฒ๊ฐ ์ด๋ฏธ ๋ก๋ํ ๋ชจ๋์ ์ฌ์ฌ์ฉํ๋ฏ๋ก ๋งค๋ฒ ์ด๊ธฐํํ๋ pnpm test๋ณด๋ค ๋น ๋ฅด๊ฒ ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์์ต๋๋ค.
์ ์ ์กฐ๊ฑด
์ด ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๋ ๊ฐ์ง๊ฐ ํ์ํฉ๋๋ค:sonamu.config.ts์์devRunnerํ์ฑํpnpm dev๋ก dev ์๋ฒ๊ฐ ์คํ ์ค
sonamu.config.ts ์ค์
api/src/sonamu.config.ts
์ค์ ์ต์
| ์ต์ | ํ์ | ๊ธฐ๋ณธ๊ฐ | ์ค๋ช |
|---|---|---|---|
enabled | boolean | false | DevRunner ํ์ฑํ ์ฌ๋ถ |
routePrefix | string | "/__test__" | ํ ์คํธ ์๋ํฌ์ธํธ ๊ฒฝ๋ก ์ ๋์ฌ |
vitestConfigPath | string | - | vitest.config.ts ๊ฒฝ๋ก (api-root ์๋๊ฒฝ๋ก) |
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
์ต์
| ์ต์ | ๋จ์ถ | ์ค๋ช |
|---|---|---|
--pattern <์ด๋ฆ> | -p <์ด๋ฆ> | ํ ์คํธ ์ด๋ฆ ํจํด์ผ๋ก ํํฐ๋ง |
๋์ ์๋ฆฌ
pnpm sonamu test๋ dev ์๋ฒ ๋ด๋ถ์ ์์ฃผํ๋ Vitest ์ธ์คํด์ค๋ฅผ HTTP ์์ฒญ์ผ๋ก ํธ์ถํฉ๋๋ค.
- CLI๊ฐ dev ์๋ฒ์
/__test__/run์๋ํฌ์ธํธ์ POST ์์ฒญ์ ๋ณด๋ ๋๋ค. - dev ์๋ฒ์
DevVitestManager๊ฐ ์์ฃผ Vitest ์ธ์คํด์ค๋ก ํ ์คํธ๋ฅผ ์คํํฉ๋๋ค. - ๊ฒฐ๊ณผ๋ฅผ JSON์ผ๋ก ๋ฐํํ๋ฉด CLI๊ฐ ์์ฝ์ ์ถ๋ ฅํฉ๋๋ค.
pnpm test์์ ๋น๊ต
pnpm test | pnpm sonamu test | |
|---|---|---|
| ์๋ฒ ํ์ | ๋ถํ์ | pnpm dev ์คํ ์ค ํ์ |
| ์คํ ์๋ | ๋งค๋ฒ ์ด๊ธฐํ | Vitest ์ธ์คํด์ค ์ฌ์ฌ์ฉ (๋น ๋ฆ) |
| HMR ์ฐ๋ | ์์ | ์ฝ๋ ๋ณ๊ฒฝ ์ฆ์ ๋ฐ์ |
| ์ฉ๋ | CI, ์ ์ฒด ํ ์คํธ | ๊ฐ๋ฐ ์ค ๋น ๋ฅธ ํผ๋๋ฐฑ |
์ธ์ ์ด๋ค ๊ฒ์ ์ฌ์ฉํ๋์?
- ๊ฐ๋ฐ ์ค:
pnpm sonamu test๋ก ๋น ๋ฅด๊ฒ ํผ๋๋ฐฑ์ ๋ฐ์ผ์ธ์. ์ฝ๋๋ฅผ ์์ ํ๊ณ ๋ฐ๋ก ํ ์คํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค. - CI/CD:
pnpm test๋ฅผ ์ฌ์ฉํ์ธ์. ๋ ๋ฆฝ์ ์ธ ํ๊ฒฝ์์ ์ ์ฒด ํ ์คํธ๋ฅผ ์คํํฉ๋๋ค.
์ํ ํ์ธ
dev ์๋ฒ์ DevRunner ์ํ๋ฅผ ํ์ธํ๋ ค๋ฉด/__test__/status ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค:
| ํ๋ | ์ค๋ช |
|---|---|
ready | Vitest ์ธ์คํด์ค๊ฐ ์ค๋น๋์๋์ง ์ฌ๋ถ |
running | ํ์ฌ ํ ์คํธ๊ฐ ์คํ ์ค์ธ์ง ์ฌ๋ถ |
lastRunAt | ๋ง์ง๋ง ํ ์คํธ ์คํ ์๊ฐ |
๋ฌธ์ ํด๊ฒฐ
dev ์๋ฒ์ ์ฐ๊ฒฐํ ์ ์๋ ๊ฒฝ์ฐ
pnpm dev๋ก dev ์๋ฒ๋ฅผ ๋จผ์ ์์ํ์ธ์.
devRunner๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ
sonamu.config.ts์ test.devRunner.enabled๋ฅผ true๋ก ์ค์ ํ๊ณ dev ์๋ฒ๋ฅผ ์ฌ์์ํ์ธ์.