'java/jUnit'에 해당되는 글 1건

  1. 2013.04.15 [jUnit] JUnit 유닛 테스트


 

JUnit

JUnit은 자바 프로그래밍을 위한 유닛 테스트 프레임워크이다. 자바에서는 기본적으로 junit.jar 파일을 지원하고 있으며, 흔히 단위테스트라고 말하는 것으로 xUnit과 SUnit 프레임워크와 유사하다고 할 수 있습니다.

 

이제 JUnit을 사용하는 법에 대해 간단하게 배워보도록 하겠습니다.

 

먼저 JUnitExam이라는 자바 프로젝트를 생성한뒤 main package와 test package를 만들도록 하겠습니다.

 

그리고 main package아래 JunitExamMain.java라는 클래스 파일을 만듭니다.

 


 

그리고 프로젝트 특성에 가서  라이브러리 추가를 선택 해줍니다.




 

그리고 JUnit을 추가해 줍니다.


 

그리고 다음과 같은 코드를 작성합니다.

package main;

public class JunitExamMain {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub

 }
 
 public int add(int a, int b){
  return a+b;
 }
}

 int형 매개인자 a,b를 가지고 int형 리턴값을 갖는 add 메소드를 하나 만들도록 하겠습니다.

네, 메소드 이름과 같이 a와 b를 더해 리턴하는 간단한 코드입니다.

 

그리고  test package 밑에 새로작성(new) > JUnit Test Case 파일을 하나 만듭니다.  

 


 

만약 JUnit Test Case항목이 보이지 않는다면 Others에서 찾아봅시다.



그리고 나서 위의 JUnit4 Test 항목을 선택하고 이름은 JunitExamTest라고 합시다. (그림에는 오타가.. -_-; )

추가적으로 밑에 있는 setUpBeforeClasstearDownAfterClass, setUp, tearDown 메서드는 각각의 역할이 있는데, 

먼저 setUp는 하나의 테스트 메소드가 동작하기 전에 수행되고

  tearDown는 해당 메소드가 동작한 직후에 실행됩니다.

 그리고 setUpBeforeClass tearDownAfterClass

 해당 Class의 수행 시작과 전에 실행되는 메소드 입니다.

 

그리고 나서 다음과 같은 코드를 작성합니다.

package test;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;

import main.JunitExamMain;

public class JunitExamTest {
 JunitExamMain jem;
 
 @BeforeClass
 public static void setUpBeforeClass() throws Exception {
  System.out.println("setUpBeforeClass()");
 }

 @AfterClass
 public static void tearDownAfterClass() throws Exception {
  System.out.println("tearDownAfterClass()");
 }

 @Before
 public void setUp() throws Exception {
  System.out.println("setUp()");
 }

 @After
 public void tearDown() throws Exception {
  System.out.println("tearDown()");
 }

 @Test
 public void test() {
  jem = new JunitExamMain();
  assertEquals(3, jem.add(1, 2));
 } 

}

@Test밑에 있는 test() 메소드가 우리가 실제 테스트를 해보고자 하는 단위 테스트의 구현부가 들어갑니다.

assertEquals는 결과 값이 같은 지 비교하는 것으로 add메서드를 실행했을 떄, 그 결과 값이 3이 맞느냐라는 것을 테스트 하는 것입니다. 실제로 여러분이 add라는 어떤 값을 더하는 모듈을 개발했다고 했을때, 올바른 결과값이 어떻게 나와야 한다는 것을 예측하고 있을 것입니다. 그러므로 여러분은 다음과 같이 예측가능한 결과가 나오는지 테스트를 해볼 수 있습니다. 그리고 나서 JUnitExamTest.java에서 실행도구 > JUnit test를 실행합니다.

 

올바른 결과가 출력되었다면 JUnit 상태창에 다음과 같은 결과가 출력될 것입니다.




 

※ 만약 다음과 같은 창이 보이지 않는다면.. 창>보기표시를 클릭하셔서 JUnit을 클릭하시면 됩니다.


출처 : http://blog.naver.com/PostList.nhn?blogId=fsclub2307&from=postList&categoryNo=58

Posted by airlueos
,