일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 인증문제해결
- 빌드 오류
- bitbucket
- 개발환경설정
- AWS
- react-native
- react
- sourcetree
- not working
- Kotlin
- gradle
- WPF
- flutter
- 리액트 네이티브
- 데이터바인딩
- 안됨
- 안드로이드
- git인증
- 설정
- 안드로이드 스튜디오
- 예제
- Invalid credentials
- aPK
- Git
- Android
- 뒤로가기 안됨
- EC2
- VisualStudio
- 리액트
- 디버깅
- Today
- Total
물에 살고싶은 개발자
[Junit] 메서드와 애노테이션 본문
출처 : http://using.tistory.com/54
위 블로그 일부를 발췌
3.2 JUnit assert 주요 메서드 및 사용예시
assert 메서드 | 설명 |
assertArrayEquals(a, b); | 배열 A와 B가 일치함을 확인한다. |
assertEquals(a, b); | 객체 A와 B가 일치함을 확인한다. |
assertSame(a, b); | 객체 A와 B가 같은 객임을 확인한다. assertEquals 메서드는 두 객체의 값이 같은가를 검사는데 반해 assertSame메서드는 두 객체가 동일한가 즉 하나의 객인 가를 확인한다.(== 연산자) |
assertTrue(a); | 조건 A가 참인가를 확인한다. |
assertNotNull(a); | 객체 A가 null이 아님을 확인한다. |
위 메서드 외에도 많은 메서드와 오버로드된 메서드를 제공한다.
자세한 내용은 http://junit.sourceforge.net/javadoc/org/junit/Assert.html 해당 링크를 참고
String names[] = {"y2kpooh","hwang"}; String names2[] = {"y2kpooh","hwang"}; assertArrayEquals(names2, names); List someList = someClass.getSomeList(); assertNotNull("조회결과 null", someList); assertTrue(someList.size() > 0); assertEquals(3, someList.size()); |
3.3 JUnit Annotation 사용 예시
스프링 프레임워크 기반의 JUnit 테스트를 위한 세팅
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={"file:WebContent/WEB-INF/classes/applicationContext*.xml"}) |
Spring 기반의 테스트 코드 작성을 위해 테스트 클래스 상단에 @RunWith(SpringJUnit4ClassRunner.class) 구문을 추가한다.
Spring 프레임워크 context 파일을 테스트 수행시에도 동일하게 로딩하기 위해 @ContextConfiguration(locations={"file:WebContent/WEB-INF/classes/applicationContext*.xml"}) 과 같은 형태로 프로젝트의 스프링 설정파일을 설정해 준다.
메서드 수행시간 제한하기
@Test(timeout=5000) |
단위는 밀리초이며 이 메서드가 결과를 반환하는데 5,000밀리초가 넘긴다면 테스트는 실패한다.
Exception 테스트
@Test(expected=RuntimeException.class) |
해당 클래스는 RuntimeException이 발생해야 한다. 만약 테스트에서 RuntimeException이 발생하지 않을 경우 실패한다.
테스트 건너뛰기
@Test(timeout=5000) @Ignore(value=”여기는 테스트 안할거야”) |
@Ignore 어노테이션을 추가하면 해당 메서드는 테스트를 건너뛰게 되며 JUnit4는 성공 및 실패 개수와 함께 건너뛴 테스트 수도 포한된 결과 통계를 제공한다.
초기화 및 종료
@Before [...] @After [...] |
@Before 어노테이션이 선언된 메서드는 해당 테스트 클래스의 인스턴스, 객체를 초기하 하는 작업을 한다. @After 어노테이션이 선언된 메서드는 해당 테스트 실행 후 실행된다.
해당 @Before, @After 어노테이션 이외 @BeforeClass, @AfterClass도 있으며 이는 static 메서드와 동일한 형태로 테스트 클래스 실행 시 한번만 실행된다.