JUnit 3

[Junit] private Method ํ…Œ์ŠคํŠธํ•˜๊ธฐ2(Exception ๊ฒ€์ฆ)

์–ผ๋งˆ์ „ Junit ์ค‘ privateMethod๋ฅผ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ์ค‘์— ์‹คํŒจํ–ˆ์„ ๊ฒฝ์šฐ์— ๋Œ€ํ•ด test๋ฅผ ํ•˜๋ ค๋‹ค ์˜๋„ํ•œ ๋Œ€๋กœ ํ’€๋ฆฌ์ง€ ์•Š์•„ ํ•ด๋‹น ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋˜ ์ค‘ ํ† ๋น„์˜ spring ์ฑ…์—์„œ ํ•ด๋‹น ๊ด€๋ จ๋œ exception ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.ใ…Žใ…Ž ์ƒ๊ฐ๋ณด๋‹ค ์‰ฌ์šด ๋ฐฉ๋ฒ•์ด์—ˆ์ง€๋งŒ ๊ทธ๋•Œ ๋‹น์‹œ์—๋Š” ๋– ์˜ค๋ฅด์ง€ ์•Š๋”๊ตฐ์š”!ใ…Žใ…Ž(๋ถ„๋ช… ํ•ด๋‹น exception ๋‚ด๋ถ€๋ฅผ ํ™•์ธํ•˜๋ฉด ๋ ๊ฒƒ ๊ฐ™์•˜์ง€๋งŒ ๊ทธ ๋‚ด๋ถ€๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ชฐ๋ผ์„œ ๋ชปํ–ˆ์—ˆ์—ˆ๋„ค์š”ใ… ใ… ) ๊ทธ๋ž˜์„œ ๊ด€๋ จ๋œ ํ•ด๊ฒฐ๋ฒ•์„ ์ž‘์„ฑํ•ด ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Before we go further ์ด ๊ธ€์€ private method๋ฅผ junit์œผ๋กœ Exceptionํ…Œ์ŠคํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”์ง€์— ๊ด€ํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ private method๋ฅผ junit์œผ๋กœ ์–ด๋–ป๊ฒŒ ํ…Œ์ŠคํŠธ..

Languages/java 2022.09.23

[JUnit] private Method ํ…Œ์ŠคํŠธํ•˜๊ธฐ!

์‚ฌ์‹ค private Method๊ฐ€ test๊ฐ€ ๋˜์ง€ ์•Š์€ ์ด์œ ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ…Œ์ŠคํŠธํ•  ํ•„์š”๊ฐ€ ์—†๊ฒŒ๋” ๊ตฌํ˜„ํ•˜๋ผ๋Š” ์˜๋„๊ฐ€ ๊น”๋ ค ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ€๋” private Method๋ฅผ ํ…Œ์ŠคํŠธ ํ•ด์•ผํ•  ๋•Œ๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ € ๊ฐ™์€ ๊ฒฝ์šฐ ์ค‘๊ฐ„์— ์ธ์ˆ˜์ธ๊ณ„๋ฐ›์€ ์ž‘์—…์ด ์กด์žฌํ•˜๋Š”๋ฐ spec์ด ๋ณ€๊ฒฝ๋˜๋ฉด์„œ ํ•ด๋‹น Method๋งŒ์„ ํ…Œ์ŠคํŠธ ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์กด์žฌํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋‚˜๋ฆ„์˜ ๋ฐฉ๋ฒ•์„ ์ฐพ์€ ํ›„ ํ•ด๋‹น ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์ •๋ฆฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. Method์™€ ReflectionTestUtils ํ…Œ์ŠคํŠธ ๋ฐฉ๋ฒ•์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ด ์žˆ์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. java.lang.reflect.Method org.springframework.test.util.ReflectionTestUtils TestCode ์•„๋ž˜์™€ ๊ฐ™์ด Pr..

Languages/java 2022.09.07

[JAVA](eclipse)junit ์‚ฌ์šฉํ•˜๊ธฐ(๋‹จ์œ„ํ…Œ์ŠคํŠธ)

eclipse์˜ maven์„ ์ด์šฉํ•œ ํ”„๋กœ์ ํŠธ ์šด์šฉ ์‹œ main์„ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ. mvn repository์—์„œ ๋ฐ›์•„์˜จ๋‹ค. pom.xml์˜ dependency์— ์ถ”๊ฐ€ ํ…Œ์ŠคํŠธํ•  ํŒŒ์ผ ํด๋ฆญ ํ›„ ctrl+n(์ƒˆ๋กœ๋งŒ๋“ค๊ธฐ)junit์„ ๊ฒ€์ƒ‰ ํ›„ nextํŒŒ์ผ ์„ ํƒ ํ›„ ์ƒˆ๋กœ๋งŒ๋“ค๊ธฐ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋˜๋ฉด ์ด๋ ‡๊ฒŒ ์ž๋™์œผ๋กœ ๊ฐ’๋“ค์ด ๋“ค์–ด๊ฐ€ ์žˆ๋Š”๊ฑธ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.next ํ›„ ํ…Œ์ŠคํŠธ๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ๋ฉ”์„œ๋“œ ์„ ํƒ์•”๋ณตํ˜ธํ™”์˜ sha512๋ฅผ ํ…Œ์ŠคํŠธ ํ•ด๋ณด๊ธฐ ์œ„ํ•ด์„œ sha512๋ฅผ ์„ ํƒ.์‹คํ–‰ํ•˜๋ฉด ์ด๋Ÿฐ ํ™”๋ฉด์ด ๋œธ.์ตœ์ดˆ ์‹คํ–‰ ์‹œ ์˜ค๋ฅ˜๊ฐ€ ๋œจ๋Š”๋ฐ ๋‹นํ™ฉํ•˜์ง€ ๋ง๊ธฐ. ๊ธฐ๋ณธ๊ฐ’์ด fail๋กœ ์ฃผ์–ด์ ธ ์žˆ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์•„๋ž˜์— ๋‚ด์šฉ๋“ค ์ž…๋ ฅ ์ด๋ ‡๊ฒŒ mavenํŒŒ์ผ์—์„œ main์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.๋”ฐ๋กœ ํ…Œ์ŠคํŠธ ํŒŒ์ผ์— logger๋ฅผ ์„ค์น˜ํ•˜์ง€ ..

Languages/java 2021.04.13
728x90
๋ฐ˜์‘ํ˜•