๐ก @Before, @After ๋?
Test ์ฝ๋์์ ์๋ ์ฝ๋๊ฐ ๊ณ์ ์ค๋ณต๋๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
ApplicationContext context =
new GenericXmlApplicationContext("applicationContext.xml");
User dao = context.getBean("userDao", UserDao.class);
์ด๋ ๊ฒ ์ค๋ณต๋ ์ฝ๋๋ ๋ณ๋์ ๋ฉ์๋๋ก ๋ฝ์๋ด๋ ๊ฒ์ด ๊ฐ์ฅ ์์ฌ์ด ๋ฐฉ๋ฒ์ธ๋ฐ,
๋ฉ์๋ ์ถ์ถ ๋ฆฌํฉํ ๋ง ๋ฐฉ๋ฒ์ด ์๋ JUnit์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ธ @Before, @After๊ฐ ์กด์ฌํ๋ค.
โ๏ธ @Before๋ ๋ฐ๋ณต๋๋ ์ค๋น ์์ ์ ๋ณ๋์ ๋ฉ์๋์ ๋ฃ๊ฒ ํด ์ฃผ๊ณ ,
์ด๋ฅผ ๋งค๋ฒ ํ ์คํธ ๋ฉ์๋๋ฅผ ์คํํ๊ธฐ ์ ์ ๋จผ์ ์๋์ผ๋ก ์คํ์์ผ์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค.
โ๏ธ @After๋ @Before์ ๊ฑฐ์ ๊ฐ์ ๊ธฐ๋ฅ์ด์ง๋ง, @Test๊ฐ ๋ถ์ ๋ฉ์๋๋ฅผ ํธ์ถํ ํ ์คํ๋๋ค๋ ์ ์์ ๋ค๋ฅด๋ค.
๐ก JUnit ํ ์คํธ ์ํ ๋ฐฉ์
- ํ ์คํธ ํด๋์ค์์ @Test๊ฐ ๋ถ์ public์ด๊ณ voidํ์ด๋ฉฐ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ํ ์คํธ ๋ฉ์๋๋ฅผ ์ฐพ๋๋ค.
- ํ ์คํธ ํด๋์ค์ ์ค๋ธ์ ํธ๋ฅผ ํ๋ ๋ง๋ ๋ค.
- @Before๊ฐ ๋ถ์ ๋ฉ์๋๊ฐ ์์ผ๋ฉด ์คํํ๋ค.
- @Test๊ฐ ๋ถ์ ๋ฉ์๋๋ฅผ ํ๋ ํธ์ถํ๊ณ ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํด๋๋ค.
- @After๊ฐ ๋ถ์ ๋ฉ์๋๊ฐ ์์ผ๋ฉด ์คํํ๋ค.
- ๋๋จธ์ง ํ ์คํธ ๋ฉ์๋์ ๋ํด 2~5๋ฒ์ ๋ฐ๋ณตํ๋ค.
- ๋ชจ๋ ํ ์คํธ์ ๊ฒฐ๊ณผ๋ฅผ ์ข ํฉํด์ ๋๋ ค์ค๋ค.
์์ ์ํ ๋ฐฉ์์ ๋ณด๋ฉด JUnit์ ํ ์คํธ ๋ฉ์๋๋ฅผ ์คํํ ๋๋ง๋ค ์๋ก์ด ์ค๋ธ์ ํธ๋ฅผ ๋ง๋ค์ด ์ค๋ค.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์๋ก ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ์คํ๋๋ฉฐ, @Before, @After๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
๐ง ๋ง์ฝ ํ ์คํธ ๋ฉ์๋์ ์ผ๋ถ์์๋ง ๊ณตํต์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ฝ๋๊ฐ ์๋ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํ ๊น?
- @Before๋ฅผ ์ฌ์ฉํ๊ธฐ๋ณด๋ค๋ ์ผ๋ฐ์ ์ธ ๋ฉ์๋ ์ถ์ถ ๋ฐฉ๋ฒ์ ์ฐ๊ฑฐ๋, ๋ณ๋์ ํ ์คํธ ํด๋์ค๋ก ๋ง๋ค์.
๐ก ํฝ์ค์ฒ(fixture)๋?
ํ ์คํธ๋ฅผ ์ํํ๋ ๋ฐ ํ์ํ ์ ๋ณด๋ ์ค๋ธ์ ํธ๋ฅผ ๋งํ๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ํ ์คํธ์์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉ๋๊ธฐ ๋๋ฌธ์ @Before์ ๋ฉ์๋๋ฅผ ์ด์ฉํด ์์ฑํด๋๋ค.
User ํฝ์ค์ฒ๋ฅผ ์ ์ฉํ UserDaoTest
public class UserDaoTest{
private UserDao dao;
private User user1;
private User user2;
private User user3;
@Before
public void setUp(){
//..์๋ต
this.user1 = new User("gyumee", "sungcheol Park", "springno1");
this.user2 = new User("leegw700", "gilwon Lee", "springno2");
this.user3 = new User("bumjin", "bumjin Park", "springno3");
}
}
๐ ์ ๋ฆฌ
JUnit์ ์ฌ์ฉํ ๋ ์ค๋ณต๋๋ ์ฝ๋๊ฐ ์ฌ๋ฌ ๋ฉ์๋์์ ์กด์ฌํ๋ค๋ฉด, @Before, @After๋ฅผ ์ฌ์ฉํด์ฃผ์.
์ฝ๋ ์ ์ฅ์ : https://github.com/withseungryu
์ฐธ๊ณ ๋ฌธ์ :
ํ ๋น์ ์คํ๋ง3 (์ด์ผ๋ฏผ)
'Back-end > Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] ํ์ต ํ ์คํธ, ๋ฒ๊ทธ ํ ์คํธ (0) | 2020.08.13 |
---|---|
[Spring] ํ ์คํธ๋ฅผ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ปจํ ์คํธ ๊ด๋ฆฌ (0) | 2020.08.12 |
[Spring] ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ (TDD) (0) | 2020.08.12 |
[Spring] JUnit - ์์ธ์กฐ๊ฑด์ ๋ํ ํ ์คํธ (0) | 2020.08.07 |
[Spring] ํ ์คํธ ์๋ํ - JUnit ๋๊ตฌ ํ์ฉ (0) | 2020.08.06 |