3. MSW
์ฝ๋ ๋ ๋ฒจ์ด ์๋๋ผ ํ๋ก์๋ฅผ ์ด์ฉํด ๋คํธ์ํฌ ๋ ๋ฒจ์์ ๊ฐ์ง ๊ตฌํ.
์คํ๋ผ์ธ ์์ ๋ฑ์ ์ง์ํ๊ธฐ ์ํ ์๋น์ค ์์ปค์ ๊ธฐ๋ฅ์ ์ ์ฉํ ํ์ฉํ ๊ฒ.
Service worker
์๋น์ค ์์ปค๋ฅผ ํ์ฉํด ๋คํธ์ํฌ ํธ์ถ์ ๊ฐ๋ก์ฑ Mock Response๋ฅผ ์ฃผ๋ ๊ฒ.
https://fe-developers.kakaoent.com/2022/221208-service-worker
์ค์น
npm i -D mswjest.config.js ํ์ผ์ 'setupFilesAfterEnv' ์์ฑ์ setupTests.tsํ์ผ ์ถ๊ฐ.
module.exports = {
testEnvironment: 'jsdom',
setupFilesAfterEnv: [
'@testing-library/jest-dom/extend-expect',
'<rootDir>/src/setupTests.ts', // ์ฌ๊ธฐ
],
transform: {
'^.+\\.(t|j)sx?$': ['@swc/jest', {
jsc: {
parser: {
syntax: 'typescript',
jsx: true,
decorators: true,
},
transform: {
react: {
runtime: 'automatic',
},
},
},
}],
},
};ํ์ผ๋ ๋ง๋ค์ด์ค๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์๋ผ์ผ ๋๋๋ฐ ๋ผ๋ฒ๋ฆฐ๋ค.
waitFor๊ฐ promise๋ฅผ ๋ฐํํ๊ธฐ ๋๋ฌธ์ async await์ ๊ฑธ์ด์ค์ผํ๋๋ฐ,.
์ด๋ ๊ฒ ๋ฐ๊พธ๊ณ '๋ฉ๊ฐ๋ฐ์ ' ๊ฐ์ ์ค๋ ํด๊ฒฐ๋์ง ์๋๋ค.
!! ReferenceError: fetch is not defined !!
fetch๊ฐ ๋ธ๋ผ์ฐ์ ์์ ๋๋๋ฐ node์์ ์๋๋ค
github์์ ๋ง๋ fetch polyfill ํด์ค์ผํ๋ค.
fetch๋ window์ ์๋ค.
์ค์นํด์ค๋ค.
Polyfill์ด๋
์ด์ ๋ธ๋ผ์ฐ์ ์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํ์ง ์๋ ์ต์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ฐ ํ์ํ ์ฝ๋.
Last updated