본문 바로가기
개발툴/Eclipse

[Eclipse] 자바 JUnit 사용 방법 & 단위 테스트 방법

by 코딩 시그널 2021. 1. 13.
반응형

안녕하세요. 오늘은 java에서 독립된 단위 테스트 프레임워크 중에 하나인 JUnit에 대해 알아보겠습니다.

JUnit이란?

JUnit(제이 유닉)은 자바 프로그래밍 언어용 단위 테스트 도구로 보이지 않고 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위 테스트를 쉽게 해주는 테스트용 Framework입니다.  플러그인 형태로 Eclipse에 포함되어있으며, 하나의 jar 파일이 전부이기 때문에 사용법도 간단합니다. JUnit은 외부 테스트 프로그램(케이스)을 작성하여 번거롭게 디버깅하지 않아도 되며,  프로그램 테스트 시 걸릴 시간도 관리할 수 있는 기능을 가지고 있습니다. 테스트 결과를 확인하는 것 이외 최적화된 코드를 유추해내는 기능도 제공합니다.  또한, 테스트 결과를 단순한 텍스트로 남기는 것이 아니라 Test클래스로 남깁니다. 그래서 개발자에게 테스트 방법 및 클래스의 History를 넘겨줄 수도 있습니다.

JUnit의 특징

  • @Test 메서드가 호출할 때마다 새로운 인스턴스가 생성되어 독립적인 테스트 가능
  • 단위 테스트 Framework 중 하나
  • 문자 혹은 GUI 기반으로 실행됨
  • 단정 문으로 테스트 케이스의 수행 결과를 판별함(assertEquals(예상 값, 실제 값))
  • JUnit4부터는 어노테이션으로 간결하게 테스트를 지원함
  • 결과는 성공(녹색), 실패(붉은색) 중 하나로 표시
  • 테스트 결과를 확인하는 것 이외 최적화된 코드를 유추해내는 기능도 제공

 

Eclipse에서 JUnit 설정 방법

1. 프로젝트를 선택하고 우클릭 후 Properties를 선택해주세요.

 

 

2. Java Build Path를 선택하고 Libraries 탭에서 Add Library을 선택해주세요.

 

 

3. JUnit을 선택하고, Next를 클릭해주세요.

 

 

4. JUnit의 버전 선택 후 Finish 버튼을 클릭해 주세요. 

 

 

5. Properties 창에 JUnit 라이브러리가 추가된 것을 확인할 수 있습니다. 

 

 

Eclipse에 JUnit이 설정되었습니다.


JUnit 사용방법

다음으로는 간단한 클래스를 작성해서 JUnit을 어떻게 사용하는지 알아보겠습니다. 제일 먼저 Calculator 클래스를 만듭니다. Calcultor클래스에 있는 sum 메서드는 int형 두 개의 파라미터 num1, num2를 받아 합을 리턴하는 간단한 메서드입니다. 

 

package com.testJunit;

public class Calculator {
		public int sum(int num1, int num2) {
			return num1 + num2;
		}
}

 

위에서 작성한 Calculator 클래스를 JUnit 라이브러리를 이용하여 테스트 코드를 작성하도록 하겠습니다.

 

1. 패키지를 선택한 후 New> other 클릭해주세요. 

 

 

2. 검색창에 JUnit을 작성하면 아래의 그림처럼 2개 목록이 뜹니다. JUnit Test Case를 선택해주세요. 

 

 

3. Name을 작성한 후 Browse를 클릭해주세요.

 

 

4. 테스트할 클래스를 선택 후 OK 버튼을 클릭해 주세요.

 

 

5. 클래스 내에 있는 메서드 목록이 나옵니다. 테스트 코드를 작성할 메서드를 선택 후 Finish 버튼을 클릭해 주세요.

 

 

6. CalculatorTest.java 파일이 생성되었고 아래의 그림과 같이 java 파일 내에 테스트 코드가 생성되었습니다.

 

 

7. 간단한 테스트 코드를 작성해 보겠습니다.

아래의 소스 코드는 assertEqual을 이용하여 sum메서드에 리턴 값이 지정한 값과 같은지를 확인하는 메서드입니다.

만약에 같은 결과가 나오면 테스트는 성공입니다.

 

 

8. 테스트 클래스 실행하는 방법은 프로젝트에서 마우스 우클릭을 클릭합니다. 

Run As > JUnit Test를 선택해 주세요.

 

 

다음 화면은 결과창입니다.

만약 테스트 메서드에 문제가 없다면 아래의 그림처럼 나옵니다.

 

 

테스트 메서드에 실패했다면 아래의 그림처럼 나옵니다.

 

 

댓글