/../app/node_modules/jsdom/lib/jsdom/living/window/History-impl.js:87
throw new DOMException(DOMException.SECURITY_ERR, `Could not parse url argument "${url}" to ${methodName} ` +
^
SecurityError
at HistoryImpl._sharedPushAndReplaceState (/../app/node_modules/jsdom/lib/jsdom/living/window/History-impl.js:87:15)
at HistoryImpl.replaceState (/../app/node_modules/jsdom/lib/jsdom/living/window/History-impl.js:72:10)
at History.replaceState (/../app/node_modules/jsdom/lib/jsdom/living/generated/History.js:89:58)
at getCurrentLocation (/../app/node_modules/history/lib/createBrowserHistory.js:60:39)
at Object.listen (/../app/node_modules/history/lib/createHistory.js:106:23)
at Object.listen (/../app/node_modules/history/lib/createDOMHistory.js:31:20)
at Object.listen (/../app/node_modules/history/lib/createBrowserHistory.js:144:28)
at Object.listen (/../app/node_modules/history/lib/useBasename.js:78:22)
at Object.listen (/../app/node_modules/history/lib/useQueries.js:111:22)
at syncHistory (/../app/node_modules/react-router-redux/lib/index.js:78:11)
@Sebmaster ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์์ ํ์ธํฉ๋๋ค.
const jsdom = require('jsdom').jsdom
global.document = jsdom('<!doctype html><html><body><div id="app"></div></body></html>', {
url: 'http://localhost'
})
global.window = document.defaultView
global.navigator = global.window.navigator
๋๊ตฐ๊ฐ๊ฐ ๋์ผํ ์คํ ์ถ์ ์ ํตํด ์ฌ๊ธฐ๋ก ์๋ด ๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Jest๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Jest ๊ตฌ์ฑ์ testURL ์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค. ์ด๊ฒ์ ๋๋ฅผ ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค ๐
@marlonicus testURL
(์ ์ฒด ๋๋ฌธ์ URL)๋ก ์
๋ฐ์ดํธํ์๊ฒ ์ต๋๊น? ๊ฐ์ฌํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๊ตฐ๊ฐ๊ฐ ๋์ผํ ์คํ ์ถ์ ์ ํตํด ์ฌ๊ธฐ๋ก ์๋ด ๋ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Jest๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Jest ๊ตฌ์ฑ์ testURL ์์ฑ์ ์ถ๊ฐํ๋ ๊ฒ์ ์์ง ๋ง์ญ์์ค. ์ด๊ฒ์ ๋๋ฅผ ์ํด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค ๐