상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - JUnit에서 테스트 메소드를 작성하는 방법은?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
JUnit에서 테스트 메소드를 작성하는 방법을 자세히 설명드리겠습니다. JUnit은 <a href='https://sangseek.com/sangseeks/자바/ko'>자바</a>에서 가장 널리 사용되는 단위 테스트 프레임워크로, 테스트 메소드를 정의하는 규칙과 어노테이션을 제공합니다. 1. 테스트 메소드 선언 테스트 메소드는 일반적으로 `public void` 형식으로 선언합니다. 반환값이 없어야 하며, 파라미터도 없어야 합니다. 예: ```java @Test public void myTestMethod() { // 테스트 코드 } ``` 단, JUnit 5 이상에서는 메소드 접근 제한자가 반드시 `public`일 필요는 없습니다. 2. @Test 어노테이션 사용 테스트 메소드를 식별하기 위해 메소드 위에 `@Test` 어노테이션을 반드시 붙여야 합니다. JUnit은 이 어노테이션이 붙은 메소드를 자동으로 실행하여 테스트 여부를 판단합니다. 3. 단언문(Assertions) 사용 테스트 메소드 내에서 기대하는 결과와 실제 결과를 비교하기 위해 `assertEquals`, `assertTrue`, `assertFalse`, `assertThrows` 등과 같은 단언문을 사용합니다. 예: ```java @Test public void sum_shouldReturnCorrectResult() { int result = Calculator.sum(2, 3); assertEquals(5, result); } ``` 4. 예외 테스트 특정 메소드가 예외를 발생시키는지 테스트할 경우, JUnit 4에서는 `expected` 속성을 사용하거나, JUnit 5에서는 `assertThrows` 메소드를 활용합니다. 예(JUnit 5): ```java @Test public void whenDivideByZero_thenThrowArithmeticException() { assertThrows(ArithmeticException.class, () -> Calculator.divide(10, 0)); } ``` 5. 테스트 메소드 이름 테스트 메소드 이름은 테스트 목적이 명확하도록 짓는 것이 좋습니다. 보통 `동작_상태_결과` 형식으로 작성합니다. 예를 들어 `calculateSum_givenTwo<a href='https://sangseek.com/sangseeks/Integer/ko'>Integer</a>s_shouldReturnSum` 처럼 구체적으로 작명하는 것이 협업과 유지보수에 유리합니다. 6. 테스트 초기화 및 정리 테스트 메소드 실행 전후로 초기화나 정리 작업이 필요한 경우 `@BeforeEach` 와 `<a href='/sangseeks/@AfterEach/ko'>@AfterEach</a>` (JUnit 5), 또는 `@Before` 와 `@After` (JUnit 4) 어노테이션을 활용해 각각 메소드를 작성할 수 있습니다. 이 부분은 테스트 메소드 작성에 보조적으로 지원됩니다. 종합하면, JUnit에서 테스트 메소드는 `@Test` 어노테이션이 붙은 파라미터 없고 반환 타입이 void인 메소드로 작성하며, 메소드 내부에는 단언문을 사용해 기대 결과를 비교하는 코드가 들어갑니다. 이는 테스트 자동화와 검증을 원활하게 진행할 수 있게 해줍니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기