์ฒซ์งธ. JUnit์์ refelction์ ์ด์ฉํด์ TestCase/TestSuite์ test๋ฉ์๋๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
์ด ๋ฆฌํ๋ ์
์ public๋ฉ์๋๋ง ๊ฐ์ ธ์ฌ ์ ์์ผ๋ฏ๋ก ๊ธฐ์ ์ ์ผ๋ก๋ ๋ฌด์กฐ๊ฑด public์ด์ด์ผ ํ์ฃ . ์ด๋ ๊ธฐ์ ์ ์ธ ๋ด์ฉ์ด๊ตฌ์ฌ;;
๋์งธ. Test๋ ์ด์์ฝ๋๋งํผ(์ด์์ฝ๋๊ฐ ์์ ๋ ๋๋ง๋ค) ๊ณ์ ์์ ๋์ด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ public์ผ๋ก ํด๋๋ ๊ฒ์ด
strategy์ template ๋๊ฐ์ง ๋ฐฉ๋ฒ ๋ชจ๋๋ก ํ์ฅ ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ ์ง๊ทนํ ๊ฐ์ธ์ ์ธ ์๊ฒฌ์
๋๋ค. ^^
์ญ์๋ ๊น์ด ์๊ฐ์๊ณ ๋ ์ค๋ฅด๋ ๊ฒ๋ค์ ์ ์ด๋ณด๋ฉด ( ^^ )
1) ๊ด๋ก, ์ผ๊ด์ฑ : xUnit์ ๊ด๋ก์ test method๋ public... ๋ฆฌํ๋ ์
๊ธฐ๋ฅ์ด ์์ด ์ธ์ด์ ์ผ๋ก
public method ์ธ์๋ ์ ๊ทผํ ์ ์๋ ๊ฒฝ์ฐ๋ ์์ ๋ฏ
2) ์ฌ๋์ด ๋ณด๊ธฐ ์ฝ๊ฒ : ํ๋ก๊ทธ๋จ์ด์ผ method visibility๊ฐ ๋ณ ์๊ด ์์ด๋ ์ฌ๋์ ์ด๋ฐ ๊ตฌ๋ถ์ด ์ฝ๋๋ฅผ ์ฝ๋ ๋ฐ ๋
์์ด ๋๋ฏ๋ก
3) ๋ถํ์ํ security exception ๋ฌธ์ ๋ฅผ ํผํ๋ ค๊ณ : ์ข
์ข
VM ๋ณด์ ์ค์ ์ด ๊นํ์ค๋ฝ๊ฒ ๋์ด ์๋ ๊ฒฝ์ฐ๋
์...
4) ์ง๊ด์ : ๋๋ฌด๋ ๋น์ฐํ public์ด์ด์ผ ํ ๊ฒ ๊ฐ...;;;
๋๋ฌด ๊ถํ๊ฐ์? ใ ใ
๋ชจ๋ ํ๊ธฐ์ฐฌ ์์์ผ ๋์ธ์.
On 5์30์ผ, ์คํ4์06๋ถ, Toby Lee <tobyi...@gmail.com> wrote:
๋จผ์ ์๋ฏธ์์ผ๋ก 'ํ
์คํธ'๋ผ๋ ๊ฒ์ ์๊ฐํด๋ณด๋ฉด..
ํ
์คํธ๋ ์ค์ ๋์๊ฐ๋ ๋ชจ๋์ด๋ ๋จ์ ๊ธฐ๋ฅ๋ค์ ์ ๊ฒํ์ฌ ์ ๋์๊ฐ๋์ง ์ด๋ฆฌ์ ๋ฆฌ(?) ํ์ธ ํ๊ธฐ ์ํ ๊ฒ์ด๋ผ๊ณ ์๊ณ ์๋๋ฐ์
๋ง์ฝ์ ์ค์ ๋ก ์ด์ฉ์ค์ธ ๊ธฐ๋ฅ๋ค์ ๋ชจ๋ ํ
์คํธ ํ๋ค๊ณ ์น๋ฉด,
๊ตฌ์ง ํ
์คํธ๋ฅผ ์จ๊ธธ ํ์๊ฐ ์์๊น..ํ๋ ์๊ฐ์ด ๋ญ๋๋ค.
ํ
์คํธ ์์ฑ์๊ฐ ํ
์คํธ๋ฅผ ์จ๊ฒจ๋์๋ค๋ฉด ์๋ง๋ ๊ทธ๊ฒ์ ํ
์คํธ๋ฅผ ๊ธฐํผํ๋ ๋ถ๋ถ ์ด๊ฒ ๊ฑฐ๋
์๋๋ฉด ์์ฌ ์๋ ์ฝ๋๋ฅผ ์์ฑํด ๋์๊ธฐ ๋๋ฌธ์ ํ
์คํธ๋ฅผ ์จ๊ฒจ๋์์ ๊ฒ์
๋๋ค.
์ด๋ ๊ฒ ์๋ฏธ์์ผ๋ก ๋ณด๋ฉด ํ
์คํธ๋ ๋ชจ๋์๊ฒ ๊ณต๊ฐ๋์ด์ผ ํ๋ค๋ ์๋ฏธ์์ language์ธก๋ฉด์์๋ public์ด์ด์ผ ํ๋ค๋ ์๊ฐ์ ํ
๊ณ ์๊ตฌ์.
๋๋ฒ์งธ ์ ๊ทผ์ ๋ฆฌํฉํ ๋ง๊ณผ ๊ด๋ จ๋ ๊ฒ์
๋๋ค.
TDD๋ฐฉ๋ฒ์์๋ ํ
์คํธ ์ฝ๋๋ฅผ ๋จผ์ ๋ง๋ค๊ณ ์ค์ ํด๋์ค๋ฅผ ์์ฑํด์ ๊ทธ์์ ์ค์ ๋ฉ์๋๋ฅผ ๋ง๋ค๊ฒ ๋์ฃ .
๋๋ถ๋ถ ํด๋์ค ์์ ์ ์ผ ์ฒ์ ๋ง๋ค๊ฒ ๋๋ ๋ฉ์๋๋ฅผ private์ผ๋ก ๋ง๋ค์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค..
์ฒ์๋ถํฐ private์ผ๋ก ์ฝ๋๋ฅผ ๋ฃ๊ฒ ๋๋ค๋ฉด ๊ทธ๋ถ์ ์๋ง ๋๋จํ ์ค๋ ฅ๊ฐ๊ฐ ์๋๊น ์๊ฐํฉ๋๋ค.
์ ๋ ๋๊ฒ public์ผ๋ก ๋ฉ์๋๋ฅผ ๋ง๋ค๊ณ ํ์์ ๋ฐ๋ผ์ extract method์ ๊ฐ์ ๋ฆฌํฉํ ๋ง ๊ธฐ๋ฒ์ ์ฌ์ฉํด ์ค๋ณต๋๋ ๋ถ๋ถ
์ด๋ ๊ธฐ๋ฅ์ ๋ถํ ์ ์ํด์ ๋ฉ์๋๋ฅผ private์ผ๋ก ๋นผ๋ ์ต๊ด์ด ์์ต๋๋ค.
๋ฆฌํฉํ ๋ง ๋ private ๋ฉ์๋๋ ์ธ๋ถ์์ ์ง์ ํธ์ถ ํ์ง ์์ฃ (ํธ์ถํ๋ ๋ฐฉ๋ฒ๋ ์๊ธด ํ์ง๋ง)
์ธ๋ถ์์๋ ๋จผ์ ๊ณต๊ฐ๋ public๋ฉ์๋๋ฅผ ํธ์ถ๊ธฐ์ค์ผ๋ก ์ผ๊ณ ํด๋์ค ๋ด๋ถ์ ์๋ private๋ฉ์๋๋ค๋ ์์ฐ์ค๋ public ๋ฉ
์๋์์ ์ฌ์ฉ ๋ ํ
๋๊น์. ๋ง์ฝ์ ํด๋์ค ๋ด๋ถ์ private๋ฉ์๋๊ฐ ์ฌํ๊ฒ ์๋ค๊ณ ์น๋ฉด ๊ทธ ํด๋์ค๋ ๋จ์ผ์ฑ
์์์น์ ์ํด์ ์
์ค๊ณ๋ ํด๋์ค๊ฐ ์๋๋ผ๊ณ ์๊ฐ๋ฉ๋๋ค. ์ด๋ฅผํ
๋ฉด ๋ถํ ์ ์๋ชปํ ๊ตฌ์กฐ์ด๊ฑฐ๋ procedure์คํ์ผ๋ก ์ง์ฌ์ง ํด๋์ค์ผ ๊ฐ๋ฅ์ฑ์ด ํด
๊ฒ ๊ฐ์ต๋๋ค.
์ด๋ ๋ฏ ํ
์คํธ๋ ํ
์คํธํ๊ธฐ ํธํ ์ค์ ์ฝ๋๋ฅผ ์ข์ํ๋ค๋ ์
์ฅ์์,
ํธ์ถํ ๋ถ๋ถ ์ฆ, public๋ฉ์๋๋ฅผ ํธ์ถํ๋ ์
์ฅ์์ ํ
์คํธ ๋ฉ์๋๊ฐ private์ผ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด์ ๋น๊ตํด์ ํ
์คํธ์ผ์ด์ค ์์ ๋ฉ์๋๋ค์ด public์ด์ด์ผ ํ๋ ์ ๋ ์์ ๋น์ทํ๊ฒ ์๊ฐ์ ํด๋ด
๋๋ค.
๋จ์ ํ
์คํธ์ฉ ํด๋์ค๋ค์ ์ ๋ถํ ๋ ์ค์ ํด๋์ค๋ฅผ ํ
์คํธ ํ๊ธฐ ์ํ ๋ฉ์๋๋ค์ด์ง
ํ
์คํธ ์ผ์ด์ค์์ private ๋ฉ์๋๋ค์ ํ
์คํธํ๊ธฐ ์ํ ๊ฒ์ ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํ
์คํธ์ผ์ด์ค์์ private ๋ฉ์๋๊ฐ ์๋ค๋ฉด ์ค์ ๋ก ํ
์คํธ์์์ ๋ฆฌํฉํ ๋ง์ด ์ด๋ฃจ์ด์ก๋ค๊ฑฐ๋ ์๋๋ฉด ์ค๋ณต๋๋ ํ
์คํธ๋ฅผ
private์ผ๋ก ๋บ๋ค๋ ๊ฐ์ ์ด ์์ผ๋ฏ๋ก, ์ด ๊ด์ ์์ ์๊ฐํด ๋ณธ๋ค๋ฉด private ๋ฉ์๋๋ ํ
์คํธ ๋์์ด ๋ ์๊ฐ ์๋ ๊ฒ ๊ฐ
์ต๋๋ค.
๋ค์์ ๊ธฐ์ ์ ์ธ ๊ด์ ์
๋๋ค.
TestSuit๋ฅ์ ํ
์คํธ๋ฅผ ํ๊ฒ ๋๋ฉด ํ๊บผ๋ฒ์ ๋จ์ ํ
์คํธ๋ค๋ฅผ ๋ฌถ์ด์ ํ
์คํธํ๊ฒ ๋๊ฒ ์ฃ . ์ด๊ฒ๋ ์์์ ์ค๋ช
ํ ๊ฒ์ฒ๋ผ ์ธ๋ถ์
์ ํธ์ถ๋์์ด ๋๋ ๋ถ๋ถ์ ๊ณต๊ฐ ๋์ด์ง ๋ถ๋ถ์ด์ง ์จ์ด ์๋ ๋ถ๋ถ์ด ์๋๋ ์ ์
๋๋ค. ํ
์คํธ๊ฐ ์จ์ด์๋ค๋ฉด ๋ถ๋ช
๊ณต๊ฐ๋ ํ
์คํธ์์
์ด๋ฏธ ์ฌ์ฉํ๊ณ ์์ ๊ฐ๋ฅ์ฑ์ด ํฌ๊ธฐ ๋๋ฌธ์
๋๋ค.
์๊ฐ๋๋๋๋ก ์ ์ผ๋ ค๋ค๊ฐ.. ์ข ๋ ์๊ฐํ๊ณ ์ ์์ต๋๋น;;;
(ํน์ ์ด์ย ๊ด๋ จ๋ย ๋ด์ฉ๋ ํ ๋น๋ ์ฑ ์ ๋ค์ด๊ฐ๋์? ^^;)
๊ทธ๋ฅ TestSuite ๊ฐ์๋ฐ์ ์คํ๋์ด์ผ ํ๋๊น public์ด ์ง๊ด์ ์ด๊ฒ ๋ค ๋ผ๋
JUnit์ ์คํ๋ง์ ๋๋ฐ์, ์คํ๋ง ์ฌ์ฉ์์ ํ์ ๋๊ตฌ์ด์ฃ .ย
JUnit์ ํ ์คํธ ๋ฉ์๋๋ ๋ชจ๋ public์ด์ด์ผ ํฉ๋๋ค. ์ JUnit ํ ์คํธ ๋ฉ์๋๋ public ์ด์ด์ผ ํ๋ค๊ณ ์๊ฐํ์๋์?๊ธฐ์ ์ ์ธ ๋ณต์กํ ์๊ธฐ๋ ์๋๋๊น, ํธํ๊ฒ ๊ฐ์ ์๊ฐ ๋๋ ์๊ฒฌ์ ์๊ธฐํด๋ณด์ธ์.
--
๋งค์ผ ํ๋ณตํ ์๊ฐ ๋์๊ธธ ๋ฐ๋๋๋ค...^^
์ข์ ๊ฒ ํ๋ ๋ ๋ฐฐ์๋๋ค.
On 6์2์ผ, ์คํ6์38๋ถ, Toby Lee <tobyi...@gmail.com> wrote:
> ํ์์ ๊ทธ๋ฅ ์๋ ๊ทธ๋ฌ๋ ค๋ ํ๊ณ ์๊ฐ์์ด ์ฌ์ฉํ๋ ๊ฒ๋ ํ๋ฒ์ฏค ์ ๊ทธ๋ ๊ฒ ํ์๊น ์๋ฌธ์ ๊ฐ์ ธ๋ณด๊ณ ์๊ฐ์ ํด๋ณด๋ ๊ฒ์ ์ข์ ์ต๊ด์ธ๋ฏ
> ํฉ๋๋ค.
> ์คํ๋ง๋ ๊ทธ๋ฐ ํ๋๋ฅผ ๊ฐ์ง๊ณ ๊ธฐ์กด ๊ธฐ์ ์ ๋ํ ์๋ฌธ์ ๊ฐ์ง๊ณ ๊ณ ๋ฏผ์ ํ๋ฉด์ ๋ง๋ค์ด์ง ๊ฒ์ผํ
๋๊น์.
>
> JUnit์ ๊ฐ๋ฐ์๋ค์ด ๋ฐํ๋ ํ
์คํธ ๋ฉ์๋๊ฐ public์ด์ด์ผ ํ๋ ์ด์ ๊ฐ ์์ต๋๋ค. JUnit์ ํ
์คํธ ํด๋์ค์ ํ
์คํธ ๋ฉ์๋๋ฅผ
> ์๋ฐ์ reflection api๋ฅผ ์ด์ฉํด์ ํธ์ถ์ ํด์ค๋๋ค. Pluggable selector ํจํด์ ์ด์ฉํ๊ธฐ ๋๋ฌธ์ ๊ทธ๋ ๊ฒ ํ์ฃ .
> ๊ทธ๋ฐ๋ฐ JUnit์ด ์ฒ์ ๋ง๋ค์ด์ง๋ ๋ ์ฌ์ฉํ๋ JDK1.1์์๋ ๋ฆฌํ๋ ์
์์ public ๋ฉ์๋๋ง ์ ๊ทผ์ ํ์ฉํ์ต๋๋ค. ๋ฐ๋ผ์
> JUnit์ ํ
์คํธ ๋ฉ์๋๋ ๋ชจ๋ public์ผ ์ ๋ฐ์ ์์์ต๋๋ค. ๊ทธ๊ฒ ๊ด๋ก๊ฐ ๋์ ์ง๊ธ๊น์ง ๋ด๋ ค์จ ๊ฒ์
๋๋ค.
>
> ๊ทธ๋ฐ๋ฐ JDK1.2๋ถํฐ๋ ๋ฆฌํ๋ ์
์์ public์ธ์ ๋ชจ๋ ์ ๊ทผ๋ ๋ฒจ์ ๋ค ํ์ฉํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ๋์ ์ฌ์ง์ด private๋ฉ์๋๋
> ํธ์ถํ๋ ๊ฒ๋ ๊ฐ๋ฅํด์ก์ฃ . ์ฌ์ง์ด final ๋ณ์์ ๊ฐ๋ ์์ ์ด ๊ฐ๋ฅํฉ๋๋ค(JDK5์ดํ์๋ ๋ฏธ๋ฆฌ ์ ์ธ๋ ์์๊ฐ์ผ๋ก final์ธ ๊ฒฝ์ฐ
> ์ฝ๋๋ ๋ฒจ ์ต์ ํ ๋๋ฌธ์ ์๋๊ธฐ๋ ํฉ๋๋ค).
>
> ์ด์จ๋ JUnit์ ์ ํต์ ์ ์งํด์ JUnit 4.x์์๋ ์ฌ์ ํ public ๋ฉ์๋๋ง ํ
์คํธ๋ก ํ์ฉํ๊ณ ์์ต๋๋ค.
>
> 2009/6/2 ์๋ฏธ๋ผ <aclimax....@gmail.com>
>
> > => ์ธ์ ๋ ๋ํ
๋ง ํ๋๋ฐ๋ ์ฐธ ๋ง์๊ฒ์ ์ป์ด๊ฐ๋ค์..
> > ๋๊ฐ์
๋๋ค.
> > ๊ทผ์์ Spring์ ์๊ฐ์ ์ง์ค ํฌํํ๊ณ ์๋๋ฐ์.
> > ์ธ์ ์ฏค ์ฌ๊ธฐ์์ ์ค๊ฐ๋ ๋ด์ฉ์ ์~์ ์ดํดํ ์ ์์๋๊ฐ ๋ชฐ๋ผ๋.
> > ์ฉ์ด๋ฅผ ์ ํ๋ ๊ฒ ๋ง์ผ๋ก๋ ์ ์ง skill up์ด ๋๋ ๋ฏํ ์ฐฉ๊ฐ์ด ใ
ใ
>
> > ์ฐฉ๊ฐ์ด๋ผ๊ณ ํด๋ ์ฐธ ์ข๋ค์ ใ
ใ
>
> > 2009๋ 6์ 2์ผ (ํ) ์คํ 3:06, ์คํฌํ <ryys1...@gmail.com>๋์ ๋ง:
>
> >> ์ธ์ ๋ ๋ํ
๋ง ํ๋๋ฐ๋ ์ฐธ ๋ง์๊ฒ์ ์ป์ด๊ฐ๋ค์..
> >> ์ ๋ ๊ณต๋ถ ์ด์ฌํ ํด์ ์ฐธ์ฌํ๋ ์ฌ๋์ด ๋์ด์ผ๊ฒ ์ด์~~
>
> >> ์ํจ~~ ํ ๊ฒ ๋๋ฌด ๋ง์ง๋ง ํ๋ ํ๋ ์ฒ์ฒํ ํด๋ณด๋ ต๋๋ค~~
>
> >> 2009๋ 6์ 2์ผ (ํ) ์คํ 1:59, Chung Wan Park <chungwan.p...@gmail.com>๋์ ๋ง:
>
> >> JUnit์ ํ
์คํธ ๋ฉ์๋๊ฐ public์ธ ์ด์ ๋ ์๋ง๋ ํ
์คํธ ํ๊ณ ์ ํ๋ ๋ชจ๋ ์ฌ๋์๊ฒ ์ด๋ ค ์๋ค๋ ์๋ฏธ ์ ๋ ๋์ง ์์๊น์?
> >>> JUnit์ ํ
์คํธ ๋ฉ์๋๋ ๋ชจ๋์๊ฒ ์คํ๋์ด ๋ชจ๋ ๊ฐ๋ฐ์๋ค์ด ํ
์คํธ ์ฝ๋๋ฅผ ํ์ธํ๊ณ
> >>> ์ํํ ์ ์๋๋ก ๋ชจ๋ ์ฌ๋์๊ฒ ์ด๋ ค์๋ค๋ ๋ญ ๊ทธ๋ฐ ์๋ฏธ์์ public์ผ๋ก ํ ๊ฒ์ด ์๋๊น
> >>> ์๊ฐ๋๋ค์.
> >>> ํ๋ก์ ํธ ์ํ ์ JUnit์ ์ด์ฉํด์ ๋ง์ ๋์์ ๋ฐ์์ฃ ..
> >>> ํ๋ก์ ํธ์ ์ฐธ์ฌํ๋ ์ฌ๋๋ค์ด JUnit์์ค๋ฅผ ๊ณต์ ๋ฐ ๋ณด์์ ํ๋ฉด์ ๋ง์ ๋์์ ๋ฐ์๋ ๊ธฐ์ต์ด...
> >>> JUnit์ ํ
์คํธ ์ฝ๋๋ ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ๊ณต์ ํด์ผ ํ๋ ์๋ฏธ์์ public์ด ์๋๊น์?
>
> >>> 2009๋ 5์ 30์ผ (ํ ) ์คํ 4:06, Toby Lee <tobyi...@gmail.com>๋์ ๋ง: