1. jUnit이란?
- Java에서 독립된 단위테스트(Unit Test)을 지원해 주는 프레임워크, 즉 모든 함수와 메소드에 대한 테스트 케이스(Test case)을 작성하는 절차
2. jUnit 특징
- 단정(assert) 메서드로 테스트 케이스의 수형결과를 판별한다.
- 테스트를 지원하는 어노테이션을 제공한다.
- 각 @Test 메서드가 호출할때 마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어진다.
3. jUnit에서 사용하는 어노테이션(Annotation)
- @Test
- @Test가 선언된 메소드는 테스트를 수행하는 메소드가 된다.
- JUnit는 각각의 테스트가 서로 영향을 주지않고 독립적으로 실행됨을 원칙으로 한다.
- @Ignore
- 해당 메소드는 실행되지 않는다.
- @Before
- @Test 메소드가 실행되기 전에 반드시 실행되어진다. 즉 @Test 메소드에서 공통으로 사용하는 코드를 @Before 메소드에 선언하여 사용한다.
- @After
- @Test 메소드가 실행된 후 실행된다.
- @BeforeClass
- @Test 메소드보다 먼저 한번만 수행되어야 할 경우에 사용
- @AfterClass
- @Test 메소드 보다 나중에 한번만 수행되어야 할 경우에 사용
4. 테스트 결과를 확인(Assert메서드)
- assertEquals(a,b) : 객체 A와 B가 일치함 확인
- assertArrayEquals(a,b) : 배열 A와 B가 일치함을 확인
- assertSame(a,b) : 객체 A와 B가 같은 객체임을 확인
- assertTrue(a) : 조건 A가 참인지 확인
- assertNotNull(a) : 객체 A가 null이 아님을 확인
5. Spring-Test에서 사용하는 어노테이션(Annotation)
- RunWith(SpringJUnit4ClassRunner.class)
- @RunWith는 jUnit 프레임워크의 테스트 실행 방법을 확장할때 사용한다.
- SpringJUnit4ClassRunner라는 클래스를 지정해주면 테스트를 진행하는중에 ApplicationContext를 만들고 관리하는 작업을 진행
- 테스트 별로 객체를 생성하더라도 싱클톤(sington)의 ApplicationContext를 보장
- ConetextConfiguration
- 스피링 빈(Bean) 설정 파일의 위치를 지정할때 사용
- ex) @ContextConfiguration(location="classpath:config/bean.xml"
- Autowired
- 스프링DI에서 사용하는 특별한 오노테이션
- 선언한 변수에 자동으로 빈을 매핑
- GenericXmlApplicationContext를 사용할 필요 없음
추가적으로
- SpringJUnit4ClassRunner.class or ContextConfiguration을 못찾는 경우
- pom.xml에 관련 Spring-Test dependency를 등록 확인
- 설정한 스프링 버젼과 동일 여부 확인
- <scope>가 있을 경우 삭제 혹은 주석 처리
'개발 기술 이야기 > spring' 카테고리의 다른 글
기본 스프링프로젝트 만들기 2/2 (0) | 2021.03.23 |
---|---|
기본 스프링프로젝트 만들기 1/2 (0) | 2021.03.23 |
[Spring 기본 - 3] IOC와 DI (0) | 2021.03.10 |
[Spring 기본 - 2] 개발 툴 설명 (0) | 2021.02.24 |
[Spring 기본 - 1] Framework 정의 및 개념 (0) | 2021.02.24 |