Skip to content

✏️ Learn

Choi Da-in edited this page Feb 29, 2024 · 5 revisions

Snapshot Test

μ΅œλ‹€μΈ

μŠ€λƒ…μƒ· ν…ŒμŠ€νŒ…(snapshot testing)μ΄λž€ μ–΄λ–€ κΈ°λŠ₯의 μ˜ˆμƒ κ²°κ³Όλ₯Ό 미리 μ •ν™•νžˆ 포착해두고 μ‹€μ œ 결과에 λΉ„κ΅ν•˜λŠ” ν…ŒμŠ€νŠΈ 기법이닀.
Jestλ¬Έμ„œμ—μ„œλŠ” μŠ€λƒ…μƒ· ν…ŒμŠ€νŠΈκ°€ UIλ₯Ό ν…ŒμŠ€νŠΈν•˜κΈ°μ—λ„ μ’‹λ‹€κ³  λ§ν•œλ‹€.
Vitest와 Jest의 snapshot test 문법은 λ™μΌν•˜λ‹€.

inline snapshot

μ‹€ν–‰ν•˜λ©΄ snapshot이 ν…ŒμŠ€νŠΈμ½”λ“œ 내에 μ‚½μž…λœλ‹€.
snapshot이 기둝된 이후에, μ—…λ°μ΄νŠΈν•˜λ €λ©΄ -u μ˜΅μ…˜μ„ μ£Όμ–΄ ν…ŒμŠ€νŠΈλ₯Ό μ‹€ν–‰ν•΄μ•Όν•œλ‹€.

expect(sum(1,2)).toMatchInlineSnapshot(); // 졜초 μ‹€ν–‰ μ „
expect(sum(1,2)).toMatchInlineSnapshot(`3`); // μ‹€ν–‰ ν›„

file snapshot

μ‹€ν–‰ν•˜λ©΄ snapshot 파일이 μƒμ„±λœλ‹€.

expect(...).toMatchSnapshot();

UI snapshot test μ˜ˆμ‹œ

it('renders correctly', () => {
  const tree = renderer
    .create(<Link page="http://www.facebook.com">Facebook</Link>)
    .toJSON();
  expect(tree).toMatchSnapshot();
});

Mock

Clone this wiki locally