Skip to main content
Fixture DB์˜ ๋ฐ์ดํ„ฐ๋ฅผ Test DB๋กœ ๋™๊ธฐํ™”ํ•˜์—ฌ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ์ค€๋น„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

Fixture ๋™๊ธฐํ™” ๊ฐœ์š”

์™„์ „ ๋ณต์‚ฌ

๋ชจ๋“  ๋ฐ์ดํ„ฐ ์Šคํ‚ค๋งˆ + ๋ ˆ์ฝ”๋“œ

๊นจ๋—ํ•œ ์‹œ์ž‘

Test DB ์ดˆ๊ธฐํ™” ์ผ๊ด€๋œ ํ™˜๊ฒฝ

๋น ๋ฅธ ์‹คํ–‰

pg_dump + pg_restore ํšจ์œจ์ ์ธ ๋ณต์‚ฌ

์ž๋™ ์‹คํ–‰

import ํ›„ ์ž๋™ ์ˆ˜๋™ ์‹คํ–‰ ๊ฐ€๋Šฅ

pnpm sonamu fixture sync

Fixture DB์˜ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ Test DB๋กœ ๋ณต์‚ฌํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์‚ฌ์šฉ๋ฒ•

์ด ๋ช…๋ น์–ด๋Š”:
  1. Test DB๋ฅผ ์™„์ „ํžˆ ์ดˆ๊ธฐํ™”
  2. Fixture DB๋ฅผ ๋คํ”„
  3. Test DB์— ๋ณต์›

์ž‘๋™ ์›๋ฆฌ

๋‚ด๋ถ€ ๊ตฌํ˜„

์‹คํ–‰ ๊ณผ์ •

์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค

1. Fixture ๋ณ€๊ฒฝ ํ›„

2. Test DB ์ดˆ๊ธฐํ™”

3. ํŒ€์› ๊ฐ„ ๋™๊ธฐํ™”

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋น„๊ต

pg_dump ์˜ต์…˜

-Fc (Format Custom)

๋ฐ”์ด๋„ˆ๋ฆฌ ํ˜•์‹์œผ๋กœ ๋คํ”„ํ•˜์—ฌ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.
์žฅ์ :
  • ์••์ถ•๋˜์–ด ํฌ๊ธฐ๊ฐ€ ์ž‘์Œ
  • pg_restore๋กœ ์„ ํƒ์  ๋ณต์› ๊ฐ€๋Šฅ
  • ๋น ๋ฅธ ์†๋„

โ€”no-owner โ€”no-acl

์†Œ์œ ์ž์™€ ๊ถŒํ•œ ์ •๋ณด๋ฅผ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค.
์ด์œ :
  • ๋กœ์ปฌ๊ณผ ์›๊ฒฉ์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ
  • ๊ถŒํ•œ ์ถฉ๋Œ ๋ฐฉ์ง€

์ž๋™ vs ์ˆ˜๋™

์ž๋™ ๋™๊ธฐํ™”

pnpm sonamu fixture import ์‹คํ–‰ ์‹œ ์ž๋™์œผ๋กœ sync๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค:

์ˆ˜๋™ ๋™๊ธฐํ™”

ํ•„์š”ํ•  ๋•Œ ์ง์ ‘ ์‹คํ–‰:

์›Œํฌํ”Œ๋กœ์šฐ

์ผ๋ฐ˜์ ์ธ ๊ฐœ๋ฐœ ํ๋ฆ„

Fixture ๊ณต์œ  ํ๋ฆ„

์„ฑ๋Šฅ ์ตœ์ ํ™”

1. ๋กœ์ปฌ Fixture DB

Fixture DB๋ฅผ ๋กœ์ปฌ์—์„œ ์šด์˜ํ•˜๋ฉด sync๊ฐ€ ๋น ๋ฆ…๋‹ˆ๋‹ค:

2. ์ตœ์†Œ ๋ฐ์ดํ„ฐ

Fixture์— ํ•„์š”ํ•œ ์ตœ์†Œ ๋ฐ์ดํ„ฐ๋งŒ ์œ ์ง€:

๋ฒ ์ŠคํŠธ ํ”„๋ž™ํ‹ฐ์Šค

1. ์ •๊ธฐ์ ์ธ ๋™๊ธฐํ™”

2. CI/CD ํ†ตํ•ฉ

3. ์Šคํฌ๋ฆฝํŠธ ์ถ”๊ฐ€

๋ฌธ์ œ ํ•ด๊ฒฐ

์—ฐ๊ฒฐ ์‹คํŒจ

ํ•ด๊ฒฐ:
  • ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ ํ™•์ธ
  • Fixture DB ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ
  • ๋ฐฉํ™”๋ฒฝ ์„ค์ • ํ™•์ธ

๊ถŒํ•œ ์˜ค๋ฅ˜

ํ•ด๊ฒฐ:

DB๊ฐ€ ์‚ฌ์šฉ ์ค‘

ํ•ด๊ฒฐ:
๋˜๋Š”:

์ฃผ์˜์‚ฌํ•ญ

Fixture ๋™๊ธฐํ™” ์‹œ ์ฃผ์˜์‚ฌํ•ญ: 1. Test DB ์ดˆ๊ธฐํ™”: ๊ธฐ์กด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ชจ๋‘ ์‚ญ์ œ๋จ 2. ๊ถŒํ•œ ํ•„์š”: Test DB์— ๋Œ€ํ•œ DROP/CREATE ๊ถŒํ•œ 3. ์—ฐ๊ฒฐ ์ข…๋ฃŒ: ์‹คํ–‰ ์ค‘์ธ ํ…Œ์ŠคํŠธ๊ฐ€ ์žˆ์œผ๋ฉด ์‹คํŒจ 4. ๋„คํŠธ์›Œํฌ: Fixture DB๊ฐ€ ์›๊ฒฉ์ด๋ฉด ์‹œ๊ฐ„์ด ๊ฑธ๋ฆผ 5. ๋ฐ์ดํ„ฐ ํฌ๊ธฐ: Fixture๊ฐ€ ํฌ๋ฉด sync๊ฐ€ ๋А๋ฆผ

๋‹ค์Œ ๋‹จ๊ณ„

ํ…Œ์ŠคํŠธ DB

ํ…Œ์ŠคํŠธ DB ์„ค์ •

Fixture ์ƒ์„ฑ

fixture.ts ์ž‘์„ฑํ•˜๊ธฐ

Fixture ๋กœ๋”ฉ

ํ”„๋กœ๋•์…˜ ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ

ํ…Œ์ŠคํŠธ ์ž‘์„ฑ

ํ…Œ์ŠคํŠธ ๊ตฌ์กฐ ์ดํ•ดํ•˜๊ธฐ