๐Ÿ’ป ๊ฐœ๋ฐœ ์ผ์ง€

์ƒํ™ฉ Service UnitTest ์ค‘ ๋ฐœ์ƒ ์›์ธ @Before ์—์„œ ์‹คํ–‰๋˜๋Š” ์•„๋ž˜ Stubbing์ด ์“ฐ์ด์ง€ ์•Š์€ ๋ฉ”์†Œ๋“œ๊ฐ€ ์žˆ์—ˆ๋‹ค. given(userRepository.findByEmail(userEmail)).willReturn(Optional.of(user)); ํ•ด๊ฒฐ @Before ์–ด๋…ธํ…Œ์ด์…˜์„ ์ œ๊ฑฐํ•˜๊ณ , ํ•„์š”ํ•œ ๋ฉ”์†Œ๋“œ์—์„œ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝ!
Unit Test ? ๋‹จ์œ„ ํ…Œ์ŠคํŠธ๋Š” Service Layer์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๋งŒ์„ ๊ฒ€์ฆํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, Repository์™€ Controller์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ํ…Œ์ŠคํŠธ์˜ F.I.R.S.T ์›์น™ F - Fast: ํ…Œ์ŠคํŠธ๋ฅผ ์‹œ๋„ํ•˜๋Š” ๊ฒƒ์— ์žˆ์–ด์„œ ์ฃผ์ถค๋˜์ง€ ์•Š์„ ๋งŒํผ ๋นจ๋ผ์•ผ ํ•œ๋‹ค. I - Independent: ๊ฐ์ฒด์˜ ์ƒํƒœ, ๋ฉ”์†Œ๋“œ, ์ด์ „ ํ…Œ์ŠคํŠธ ์ƒํƒœ, ๋‹ค๋ฅธ ๋ฉ”์†Œ๋“œ์˜ ๊ฒฐ๊ณผ์— ์˜์กดํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค. R - Repeatable: ์–ด๋–ค ํ™˜๊ฒฝ์—์„œ๋„ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•ด์•ผ ํ•œ๋‹ค. S - Self-Validating: ๋ชจ๋“  ํ…Œ์ŠคํŠธ๋Š” pass ํ˜น์€ fail์˜ ๊ฒฐ๊ณผ๋งŒ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. T - Timely: ์‹ค์ œ ์ฝ”๋“œ๊ฐ€ ๋งŒ๋“ค์–ด์ง€๊ธฐ ์ „์— ํ…Œ์ŠคํŠธ ๋˜์–ด์•ผ ํ•œ๋‹ค. ์‹ค์ œ ์ฝ”๋“œ๋ฅผ ๊ตฌ..
[ ๋ฌธ์ œ ] ํƒ€์ด๋จธ๋ฅผ ์ ์šฉํ•˜๋Š” setInterval์ด ๊ฐ„ํ—์ ์œผ๋กœ ์‹คํ–‰๋˜์ง€ ์•Š์Œ ์ƒˆ๋กœ์šด window๋ฅผ ์—ด์—ˆ์„ ๋•Œ, background.js๊ฐ€ ์žฌ ์‹คํ–‰๋˜๋ฉด์„œ, tabId๊ฐ€ “”๋กœ ์ดˆ๊ธฐํ™” ๋จ setInterval Manifest V3๋กœ ์ด์ „ ๋˜๋ฉด์„œ, chrome alarms API๋กœ ๋ณ€๊ฒฝ https://developer.chrome.com/docs/extensions/mv3/migrating_to_service_workers/#alarms chrome.alarms.create({ when:Date.now(), periodInMinutes: 1/60}); chrome.alarms.onAlarm.addListener(() => { // Do Action }); alarms ์‚ฌ์šฉ์„ ์œ„ํ•ด, Manifest์— Perm..
[ localStorage์—์„œ ๋ฐ์ดํ„ฐ ์–ป๊ธฐ ] ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋ฏธ ์›น ํŽ˜์ด์ง€์—์„œ localStorage์— ์ €์žฅํ•˜๊ณ  ์žˆ์—ˆ์Œ! → localStorage ๋‚ด์šฉ ์–ป์–ด์˜ค๊ธฐ 1. ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ฌ Tab์˜ ID ์–ป๊ธฐ chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab)=>{ if(changeInfo.status === 'complete'){ if(tab.url.includes("URL์ฃผ์†Œ"){ globalTabId = tabId; } } }); ์‚ฌ์šฉ์ž๊ฐ€ ๋ฏธ๋ฆฌ ์ง€์ •๋œ URL์— ์ ‘์†ํ•  ๊ฒฝ์šฐ, ํ•ด๋‹น ํƒญ์˜ ID๋ฅผ ์ €์žฅ ํ•ด๋‹น ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํƒญ์˜ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ „์—ญ๋ณ€์ˆ˜๋กœ ์ €์žฅ ํ›„ ํ™œ์šฉ 2. localStorage ๊ฐ€์ ธ์˜ฌ Script ์ฃผ์ž… chrome.scrip..
์ ์ด
'๐Ÿ’ป ๊ฐœ๋ฐœ ์ผ์ง€' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก (6 Page)