|
2 | 2 |
|
3 | 3 | ## ํ
์คํธ๋ก ๋ถํฐ ์ป์ ์ ์๋๊ฒ
|
4 | 4 |
|
5 |
| -- ์์ ๊ฐ๊ณผ ์์ ๊ฐ |
| 5 | +- ์์ ๊ฐ๊ณผ ์์ ๊ฐ |
6 | 6 | - ๋์์? ํ์ฌ์ ๋ฏธ๋์ ๋, ๋๋ฃ
|
7 | 7 |
|
8 | 8 | # ๋ฌด์์ ํ
์คํธํ ๊ฒ์ธ๊ฐ?
|
9 | 9 |
|
10 | 10 | ## ๋ก๋ ๊ตฌํ ์์
|
11 | 11 |
|
12 | 12 | - ์๊ตฌ์ฌํญ
|
13 |
| - - 6๊ฐ์ ์ซ์๋ฅผ ๋ฐํ, ์ค๋ณต๋์ง ์๋ ์ซ์, ๋๋คํ๊ฒ ๋ฐํ |
| 13 | + - 6๊ฐ์ ์ซ์๋ฅผ ๋ฐํ, ์ค๋ณต๋์ง ์๋ ์ซ์, ๋๋คํ๊ฒ ๋ฐํ |
14 | 14 |
|
15 | 15 | 
|
16 | 16 |
|
17 | 17 | - ์ง๋ฌธ) ์ค๋ณต์ ๋ํด์๋ ํ
์คํธ ๋์ด์ผ ํ์ง ์์๊น์?
|
18 |
| - - ๋๋ต) ์ ๋ Set ์ผ๋ก ๊ตฌํํด์ ์ค๋ณต์ด ๋์ฌ ์ ๊ฐ ์์ด์ |
19 |
| - - ์๋ ์๋ชป๋๋ค. ์๋๋ฉด **๊ตฌํ์ ์ธ์ ๊ฐ ์ด๋ป๊ฒ๋ ๋ณํ ์** ์๊ธฐ๋๋ฌธ์ด๋ค. (๋ฏธ๋์ ๋ด๊ฐ ๋ง๊ฐํ ์๋, ๋ฏธ๋ ๋๋ฃ๊ฐ ๋ฐ๊ฟ์๋) -> ๊ตฌํ์ด ์๋ **๋น์ฆ๋์ค ์ค๊ณ์ฌํญ์ ํ
์คํธํด์ผ์ง ์์ ๊ฐ, ์์ ๊ฐ**์ ์ป์ ์ ์๋ค |
| 18 | + - ๋๋ต) ์ ๋ Set ์ผ๋ก ๊ตฌํํด์ ์ค๋ณต์ด ๋์ฌ ์ ๊ฐ ์์ด์ |
| 19 | + - ์๋ ์๋ชป๋๋ค. ์๋๋ฉด **๊ตฌํ์ ์ธ์ ๊ฐ ์ด๋ป๊ฒ๋ ๋ณํ ์** ์๊ธฐ๋๋ฌธ์ด๋ค. (๋ฏธ๋์ ๋ด๊ฐ ๋ง๊ฐํ ์๋, ๋ฏธ๋ ๋๋ฃ๊ฐ ๋ฐ๊ฟ์๋) -> ๊ตฌํ์ด ์๋ **๋น์ฆ๋์ค ์ค๊ณ์ฌํญ์ ํ
์คํธํด์ผ์ง ์์ ๊ฐ, ์์ ๊ฐ**์ ์ป์ ์ ์๋ค |
20 | 20 |
|
21 | 21 | ## ๊ตฌํํ
์คํธ
|
22 | 22 |
|
23 | 23 | - ๋ง์ฝ private ๋ฉ์๋๋ฅผ public ๋ฉ์๋๋ก ๋ฐ๊ฟ์ ํ
์คํธํ๊ณ ์ํ๋ฉด ๊ตฌํํ
์คํธ๋ฅผ ํ๊ณ ์์ ๊ฐ๋ฅ์ฑ์ด ๋งค์ฐ ํผ
|
24 |
| -- ์ด๋ด๊ฒฝ์ฐ์๋ ๊ทธ ํ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ์์ชฝ์ ๋น์ฆ๋์ค ํ
์คํธ๋ง ๋ํด์ง ์์ชฝ์ ๋ค์ฌ๋ค๋ณผ ํ์๋์๋ค. ๋ง์ฝ ์ถ๊ฐํ๋๊ฒ ์ด์ํ๋ค๋ฉด private ๋ฉ์๋๊ฐ ์์ชฝ์ ์๋๊ฒ ์ด์ํ๊ฑธ์๋ .. |
25 |
| - -  |
26 |
| - |
27 |
| -์ฆ ์์ฝํ๋ฉด, ์ฐ๋ฆฌ๊ฐ **๊ตฌํ์ด ์๋๋ผ,** **์ค๊ณ๋ฅผ ํ
์คํธ**ํด์ผํ๋ค. |
28 |
| - |
| 24 | +- ์ด๋ด๊ฒฝ์ฐ์๋ ๊ทธ ํ์๋ฅผ ๊ฐ์ง๊ณ ์๋ ์์ชฝ์ ๋น์ฆ๋์ค ํ
์คํธ๋ง ๋ํด์ง ์์ชฝ์ ๋ค์ฌ๋ค๋ณผ ํ์๋์๋ค. ๋ง์ฝ ์ถ๊ฐํ๋๊ฒ ์ด์ํ๋ค๋ฉด private ๋ฉ์๋๊ฐ ์์ชฝ์ ์๋๊ฒ ์ด์ํ๊ฑธ์๋ .. |
| 25 | + -  |
29 | 26 |
|
| 27 | +์ฆ ์์ฝํ๋ฉด, ์ฐ๋ฆฌ๊ฐ **๊ตฌํ์ด ์๋๋ผ,** **์ค๊ณ๋ฅผ ํ
์คํธ**ํด์ผํ๋ค. |
30 | 28 |
|
31 | 29 | ## Non Testable
|
32 | 30 |
|
33 | 31 | - "์ ์ดํ ์ ์๋ ์์ญ"
|
34 | 32 | - ์์
|
35 |
| - - Radndom, Shuffle, LocalDate.now() |
36 |
| - - ์ธ๋ถ ์ธ๊ณ |
37 |
| - - HTTP |
38 |
| - - ์ธ๋ถ ์ ์ฅ์ |
| 33 | + - Radndom, Shuffle, LocalDate.now() |
| 34 | + - ์ธ๋ถ ์ธ๊ณ |
| 35 | + - HTTP |
| 36 | + - ์ธ๋ถ ์ ์ฅ์ |
39 | 37 |
|
40 | 38 | - ์ ํ
์คํธํ๊ธฐ ํ๋ ์ง?
|
41 |
| - - ํ
์คํธ๋ ๊ณ ์ ๋์ด์๋๋ฐ ๊ทธ์ฌ์ด์ ์ธ๋ถ์ธ๊ณ๋ ๋ณํ๋ ์ ์๋ค. ๊ทธ๋ด๋ ํ
์คํธ๊ฐ ์คํจํ๊ฒ๋๋ค. |
42 |
| - - **์ ์ดํ ์ ์๋ ์์ญ์ ๋ฉฑ๋ฑํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํ ์ ์๋ค**. |
| 39 | + - ํ
์คํธ๋ ๊ณ ์ ๋์ด์๋๋ฐ ๊ทธ์ฌ์ด์ ์ธ๋ถ์ธ๊ณ๋ ๋ณํ๋ ์ ์๋ค. ๊ทธ๋ด๋ ํ
์คํธ๊ฐ ์คํจํ๊ฒ๋๋ค. |
| 40 | + - **์ ์ดํ ์ ์๋ ์์ญ์ ๋ฉฑ๋ฑํ ๊ฒฐ๊ณผ๋ฅผ ๋ณด์ฅํ ์ ์๋ค**. |
43 | 41 | - ๋ก๋ ์์
|
44 |
| - - ์ ์๊ตฌ์ฌํญ ์ค "๋๋คํ๊ฒ ๋ฐํ"์ค ๋๋ค์ ์ ์ดํ ์ ์์ผ๋ฏ๋ก ํ
์คํธ ๋ถ๊ฐ๋ฅํ๊ฒ์ด๋ค. |
45 |
| - - ์๊ตฌ์ฌํญ์ ์๋ชป ๋์ถํ์ ๊ฐ๋ฅ์ฑ์์. |
46 |
| - ๋ฐ๋ผ์ "๋๋คํ๊ฒ ๋ฐํ"์ "์๋ํ ์ ๋ต๋๋ก ๋ฐํ"์ผ๋ก ๋ณ๋ฑ ๋ค๋ฅด๊ฒ ํ์ด์ ํ
์คํธํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ค. |
47 |
| - - ์๋๋ ์ ๋ตํจํด์ผ๋ก ๋ฆฌํฉํฐ๋งํจ (ํ
์คํธ ๊ฐ๋ฅํ๊ฒ๋จ) |
48 |
| - -  |
| 42 | + - ์ ์๊ตฌ์ฌํญ ์ค "๋๋คํ๊ฒ ๋ฐํ"์ค ๋๋ค์ ์ ์ดํ ์ ์์ผ๋ฏ๋ก ํ
์คํธ ๋ถ๊ฐ๋ฅํ๊ฒ์ด๋ค. |
| 43 | + - ์๊ตฌ์ฌํญ์ ์๋ชป ๋์ถํ์ ๊ฐ๋ฅ์ฑ์์. ๋ฐ๋ผ์ "๋๋คํ๊ฒ ๋ฐํ"์ "์๋ํ ์ ๋ต๋๋ก ๋ฐํ"์ผ๋ก ๋ณ๋ฑ ๋ค๋ฅด๊ฒ ํ์ด์ ํ
์คํธํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค ์ ์๋ค. |
| 44 | + - ์๋๋ ์ ๋ตํจํด์ผ๋ก ๋ฆฌํฉํฐ๋งํจ (ํ
์คํธ ๊ฐ๋ฅํ๊ฒ๋จ) |
| 45 | + -  |
49 | 46 |
|
50 | 47 | **"ํญ์ ์ฑ๊ณตํ ์ ์๋๊ฒ ํญ์ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์๋ ๊ฒ์ ํ
์คํธ"**
|
51 | 48 |
|
52 | 49 | ## ์ฌ๊ธฐ๊น์ง ์์ฝ
|
53 | 50 |
|
54 |
| -- ๋ฌด์์ ํ
์คํธํ ๊ฒ์ธ๊ฐ? |
55 |
| - - **์ค๊ณ๋ฅผ ํ
์คํธํ์.** |
56 |
| - - **ํญ์ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์๋๊ฒ์ ํ
์คํธํ์.** |
| 51 | +- ๋ฌด์์ ํ
์คํธํ ๊ฒ์ธ๊ฐ? |
| 52 | + - **์ค๊ณ๋ฅผ ํ
์คํธํ์.** |
| 53 | + - **ํญ์ ๋์ผํ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์๋๊ฒ์ ํ
์คํธํ์.** |
57 | 54 |
|
58 |
| -# ์ด๋ป๊ฒ ํ
์คํธํ ๊ฒ์ธ๊ฐ? |
| 55 | +# ์ด๋ป๊ฒ ํ
์คํธํ ๊ฒ์ธ๊ฐ? |
59 | 56 |
|
60 | 57 | ## 1. ํ
์คํธ ๊ฐ๋ฅํ ๊ฒ, ๋ถ๊ฐ๋ฅํ ๊ฒ
|
61 | 58 |
|
62 |
| -> ํ
์คํธํ ์ ์๋ ๋ฉ์๋๋ ํ
ํธํ ์ ์๋ ๋ฉ์๋๊น์ง ์ค์ผ์ ์ํจ๋ค. |
| 59 | +> ํ
์คํธํ ์ ์๋ ๋ฉ์๋๋ ํ
ํธํ ์ ์๋ ๋ฉ์๋๊น์ง ์ค์ผ์ ์ํจ๋ค. |
63 | 60 |
|
64 | 61 | ## ๋ฐฐ๋ฌํ ๊ณ์ฐ ์์
|
65 | 62 |
|
|
69 | 66 |
|
70 | 67 | 
|
71 | 68 |
|
72 |
| -- ์ฌ๊ธฐ์ ๊ฐ์ฅ ์์ชฝ ์๋ ๋ฉ์๋์ LocalDateTime.now()๋ ์ ์ดํ ์ ์๋ ์์ญ์ด ์๋ค. -> ๊ฒฐ๊ตญ ์ ์ฒด๊ฐ ํ
์คํธํ ์ ์๋ ์ฝ๋๋ก ์ค์ผ์ด๋๋ค. |
| 69 | +- ์ฌ๊ธฐ์ ๊ฐ์ฅ ์์ชฝ ์๋ ๋ฉ์๋์ LocalDateTime.now()๋ ์ ์ดํ ์ ์๋ ์์ญ์ด ์๋ค. -> ๊ฒฐ๊ตญ ์ ์ฒด๊ฐ ํ
์คํธํ ์ ์๋ ์ฝ๋๋ก ์ค์ผ์ด๋๋ค. |
73 | 70 |
|
74 | 71 | 
|
75 | 72 |
|
|
79 | 76 |
|
80 | 77 | 
|
81 | 78 |
|
82 |
| -- ๊ณ์ ์ฌ๋ฆฐ๋ค. ์ด๋๊น์ง ์ฌ๋ฆด๊ฒ์ธ๊ฐ? |
83 |
| - - ์ฌ๊ธฐ์ Boundary Layer๋? ํ ๋ชจ๋๋ก์์ ์๋ฏธ๋ฅผ ์ง๋๋ ๊ฐ์ฅ ๋ฐ๊นฅ ์ชฝ (์ด๊ฑด ์ค๊ณ์ ๋ฐ๋ผ ๋ฑ ์ ์ํ๊ธฐ ํ๋ ๋ถ๋ถ) |
84 |
| - -  |
| 79 | +- ๊ณ์ ์ฌ๋ฆฐ๋ค. ์ด๋๊น์ง ์ฌ๋ฆด๊ฒ์ธ๊ฐ? |
| 80 | + - ์ฌ๊ธฐ์ Boundary Layer๋? ํ ๋ชจ๋๋ก์์ ์๋ฏธ๋ฅผ ์ง๋๋ ๊ฐ์ฅ ๋ฐ๊นฅ ์ชฝ (์ด๊ฑด ์ค๊ณ์ ๋ฐ๋ผ ๋ฑ ์ ์ํ๊ธฐ ํ๋ ๋ถ๋ถ) |
| 81 | + -  |
85 | 82 |
|
86 | 83 | ์ฆ **"ํ
์คํธ ๋ถ๊ฐ๋ฅํ ์์ญ์ Boundary Layer๋ก ์ฌ๋ ค์ ํ
์คํธ ๊ฐ๋ฅํ๋๋ก ๋ณ๊ฒฝ"**
|
87 | 84 |
|
88 | 85 | ## 2. Java, Spring Framework
|
89 | 86 |
|
90 |
| -- `@SpringBootTest` |
91 |
| - -  |
92 |
| - - Spring Context๊ฐ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ํ์์๋ค. |
93 |
| - - ๋น ๋ฅธ ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์๋ค. |
94 |
| - - Spring Context๋ ์ธ์ด์ ๋ณธ์ง์ ๋ง๊ฐ์ ์ํค๊ฒํ ์ ์๋ค. |
95 |
| - |
96 |
| -**"Context, Framework ์ข
์์ ์ด์ง ์์ ํ
์คํธ ์ฐ์ "** |
97 |
| - |
| 87 | +- `@SpringBootTest` |
| 88 | + -  |
| 89 | + - Spring Context๊ฐ ๋๋ฆฌ๊ธฐ ๋๋ฌธ์ ํ์์๋ค. |
| 90 | + - ๋น ๋ฅธ ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์๋ค. |
| 91 | + - Spring Context๋ ์ธ์ด์ ๋ณธ์ง์ ๋ง๊ฐ์ ์ํค๊ฒํ ์ ์๋ค. |
98 | 92 |
|
| 93 | +**"Context, Framework ์ข
์์ ์ด์ง ์์ ํ
์คํธ ์ฐ์ "** |
99 | 94 |
|
100 | 95 | ## 3. Test Double
|
101 | 96 |
|
102 | 97 | > Test Double์ ํ
์คํธ ํ ์ ์๋ ์์ญ์ ๋ํ ์ธ๋ถ ์์ธ์ ๋ถ์ฌํ ์ ์๋๋ก ๋์์ค
|
103 | 98 |
|
104 | 99 | - ๋ฌด์์ Test Double๋ก ์ฒ๋ฆฌํด์ผํ ๊น?
|
105 | 100 |
|
106 |
| - -  |
| 101 | + -  |
107 | 102 |
|
108 |
| - > ์๊ฐ call stack ์ต์๋จ์ด๋ฉฐ 1, 2, 3, 4๋ฒ ์ฝ๋๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํ (4๋ฒ์ด ํ
์คํธ ํ๊ณ ์ถ์ ์์ญ) |
| 103 | + > ์๊ฐ call stack ์ต์๋จ์ด๋ฉฐ 1, 2, 3, 4๋ฒ ์ฝ๋๋ฅผ ์์ฐจ์ ์ผ๋ก ์คํ (4๋ฒ์ด ํ
์คํธ ํ๊ณ ์ถ์ ์์ญ) |
109 | 104 |
|
110 |
| - -  |
| 105 | + -  |
111 | 106 |
|
112 |
| - - 4๋ฒ๋ง ํ
์คํธ ํ ๊บผ๋ ์ ์ธํ ์์ญ์ Test Double๋ก? |
| 107 | + - 4๋ฒ๋ง ํ
์คํธ ํ ๊บผ๋ ์ ์ธํ ์์ญ์ Test Double๋ก? |
113 | 108 |
|
114 |
| - - **Test Double์ ์ฌ์ฉํ๋ ๊ฒ์ ํ
์คํธ๊ฐ ๊ตฌํ์ ์์์ผ ํ๋ค๋๊ฒ** |
| 109 | + - **Test Double์ ์ฌ์ฉํ๋ ๊ฒ์ ํ
์คํธ๊ฐ ๊ตฌํ์ ์์์ผ ํ๋ค๋๊ฒ** |
115 | 110 |
|
116 |
| - - ex) ๋ฐํ ํ์
or ์
๋ ฅ๊ฐ ๋ณ๊ฒฝํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. |
117 |
| - |
118 |
| - - **Test Double์ ๋จ์ฉ์ ๊ตฌํ ํ
์คํธ๋ก ์ ๋ํ ์ ์๋ค.** |
119 |
| - |
120 |
| -- **๊ทธ๋ผ Test Double์ ์ด๋ป๊ฒ ์ฐ์ง?** |
| 111 | + - ex) ๋ฐํ ํ์
or ์
๋ ฅ๊ฐ ๋ณ๊ฒฝํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค. |
121 | 112 |
|
122 |
| - - **Boundary Context ๊น์ง ๋์ด์ฌ๋ ธ๋๋ฐ ํ
์คํธํ ์ ์๋ ์์ญ์ด ์กด์ฌํ ๋** |
123 |
| - - ํธ๋ฆฌํ์ง๋ง ์ฌ์ฉ์ ์์ํ์ฌ ์ต์ํ |
124 |
| - - ์์ ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์
์ผ๋ก๋ ํ
์คํธํ ์ ์๋ ๊ฒ |
125 |
| - - -> ๋๋ถ๋ถ Embedded๋ก ๊ฐ๋ฅ |
126 |
| - - ex) ์ ์ฅ์ ์
์ถ๋ ฅ๊ฒ์ฆ(์ฟผ๋ฆฌ ์๋๊ฐ๋์ง), SPEC ๊ฒ์ฆ(๋ด๋ถ controller, ์ธ๋ถ API) |
| 113 | + - **Test Double์ ๋จ์ฉ์ ๊ตฌํ ํ
์คํธ๋ก ์ ๋ํ ์ ์๋ค.** |
127 | 114 |
|
| 115 | +- **๊ทธ๋ผ Test Double์ ์ด๋ป๊ฒ ์ฐ์ง?** |
| 116 | + |
| 117 | + - **Boundary Context ๊น์ง ๋์ด์ฌ๋ ธ๋๋ฐ ํ
์คํธํ ์ ์๋ ์์ญ์ด ์กด์ฌํ ๋** |
| 118 | + - ํธ๋ฆฌํ์ง๋ง ์ฌ์ฉ์ ์์ํ์ฌ ์ต์ํ |
| 119 | + - ์์ ์๋ฐ ์ดํ๋ฆฌ์ผ์ด์
์ผ๋ก๋ ํ
์คํธํ ์ ์๋ ๊ฒ |
| 120 | + - -> ๋๋ถ๋ถ Embedded๋ก ๊ฐ๋ฅ |
| 121 | + - ex) ์ ์ฅ์ ์
์ถ๋ ฅ๊ฒ์ฆ(์ฟผ๋ฆฌ ์๋๊ฐ๋์ง), SPEC ๊ฒ์ฆ(๋ด๋ถ controller, ์ธ๋ถ API) |
128 | 122 |
|
129 | 123 | ## 4. Embedded
|
130 | 124 |
|
|
133 | 127 | 
|
134 | 128 |
|
135 | 129 | - ํ
์คํธ์ Embedded ์์คํ
์ ๋์ผํ ๋ผ์ดํ ์ฌ์ดํด์ ๊ฐ๋๋ก ๊ตฌ์ฑ
|
136 |
| - -  |
| 130 | + -  |
137 | 131 |
|
138 | 132 | 
|
139 | 133 |
|
140 |
| - |
141 |
| - |
142 | 134 | ## 5. EndPoint Test
|
143 | 135 |
|
144 | 136 | - Spring Framework Support
|
145 |
| - - MockMvc, REST Assured, WebTestClient |
| 137 | + - MockMvc, REST Assured, WebTestClient |
146 | 138 | - **ํ
์คํธ์ ๋ชฉ์ ์ ์์ฒญ๊ณผ ์๋ต ์คํฉ ๊ฒ์ฆ๋ง์ผ๋ก ์ ํํ๋๊ฒ ์ ์ ๊ฑด๊ฐ์ ์ข์๊ฒ์ด๋ผ๊ณ ์๊ฐ** (๋ค๋ฅผ ์์ ๋ชจ๋ฅด๊ฒ)
|
147 |
| - -  |
148 |
| - - ๋ค์ ๋ก์ง์ ๋ค ์์์ผ๋๊ณ , ํ
์คํธ ๊ฐ๋ฅํ ์์ญ์ด์ฌ์ผํ๊ณ , case by case๋ ๋๋ฌด ๋ง๊ธฐ์ |
| 139 | + -  |
| 140 | + - ๋ค์ ๋ก์ง์ ๋ค ์์์ผ๋๊ณ , ํ
์คํธ ๊ฐ๋ฅํ ์์ญ์ด์ฌ์ผํ๊ณ , case by case๋ ๋๋ฌด ๋ง๊ธฐ์ |
149 | 141 |
|
150 | 142 | # TIP & RULE
|
151 | 143 |
|
152 | 144 | 1. **ํ
์คํธ๊ฐ ์๋ก ์ํฅ์ ๋ฏธ์น์ง ์๋๋ก ์ํธ ๋
๋ฆฝ์ ์ผ๋ก ์์ฑ**
|
153 |
| - 1. ๋ชจ๋ ํ
์คํธ์ ์์์ ๊ด๊ณ๋ฅผ ์๊ฐํ์ฌ ํ
์คํธ๋ฅผ ์์ฑํ๊ธฐ ์ด๋ ค์ |
154 |
| - 2. ๊ณต์ ๋๋ ์์์ ์ด๊ธฐํํ์ฌ ๋ค๋ฅธ ํ
์คํธ์ ์ํฅ์ ๋ฐ์ง ์๋๋ก |
155 |
| - 3. ๋จ๊ณ๊ฐ ํ์ํ๋ค๋ฉด JUnit5 ์ Dynamic Testfใ
กใน ์ถ์ฒ |
| 145 | + 1. ๋ชจ๋ ํ
์คํธ์ ์์์ ๊ด๊ณ๋ฅผ ์๊ฐํ์ฌ ํ
์คํธ๋ฅผ ์์ฑํ๊ธฐ ์ด๋ ค์ |
| 146 | + 2. ๊ณต์ ๋๋ ์์์ ์ด๊ธฐํํ์ฌ ๋ค๋ฅธ ํ
์คํธ์ ์ํฅ์ ๋ฐ์ง ์๋๋ก |
| 147 | + 3. ๋จ๊ณ๊ฐ ํ์ํ๋ค๋ฉด JUnit5 ์ Dynamic Testfใ
กใน ์ถ์ฒ |
156 | 148 | 2. ํ
์คํธ ์์ ์๋์ ๋ชฉ์ ์ด ๋ค์ด๋๋๋ก ์์ฑ
|
157 |
| - 1. ์ด๋ค ์กฐ๊ฑด์์, ๋ฌด์์ ์ํํ์๋, ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋์ฌ์ง ์ ์ ์์ด์ผํ๋ค. (๊ฐ์ธ์ ์ผ๋ก @Before์ ์ ์ผ๋ฉด ํ์
ํ๊ธฐ ํ๋ฌ) |
158 |
| - 2. ํ
์คํธ ์ฝ๋ ์ญ์ ๊ฐ๋
์ด ์ค์ |
| 149 | + 1. ์ด๋ค ์กฐ๊ฑด์์, ๋ฌด์์ ์ํํ์๋, ์ด๋ค ๊ฒฐ๊ณผ๊ฐ ๋์ฌ์ง ์ ์ ์์ด์ผํ๋ค. (๊ฐ์ธ์ ์ผ๋ก @Before์ ์ ์ผ๋ฉด ํ์
ํ๊ธฐ ํ๋ฌ) |
| 150 | + 2. ํ
์คํธ ์ฝ๋ ์ญ์ ๊ฐ๋
์ด ์ค์ |
159 | 151 | 3. ํ
์คํธ ์ฝ๋๋ ๋ฆฌํฉํ ๋ง ๋์
|
160 |
| - 1. ์ฝ๋์์ ๋ํ ์ด์ผ๊ธฐ๊ฐ ์๋ ๊ฐ ์์ ์ฑ, ์๊ตฌ์ฌํญ ์ ๋ฆฌ๋ฑ ๋น์ฆ๋์ค ์ฝ๋์ ๋์ผํ ์์ค์ ๋ฆฌํฉํ ๋ง์ด ํจ๊ป ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค. |
| 152 | + 1. ์ฝ๋์์ ๋ํ ์ด์ผ๊ธฐ๊ฐ ์๋ ๊ฐ ์์ ์ฑ, ์๊ตฌ์ฌํญ ์ ๋ฆฌ๋ฑ ๋น์ฆ๋์ค ์ฝ๋์ ๋์ผํ ์์ค์ ๋ฆฌํฉํ ๋ง์ด ํจ๊ป ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค. |
161 | 153 |
|
162 | 154 | # Reference
|
163 | 155 |
|
|
0 commit comments