Junit을 사용하지 않은 테스트 환경

이종철 0 2,760 2013.05.26 02:30
Junit을 사용하지 않은 테스트 환경
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

개발 중 클래스에 대한 테스트를 수행하기 위해서 main 함수가 없는 클래스는 간단히 메인 함수를 만들고 new 한 후 원하는 테스트를 진행하게 되겠죠 클래스 개수가 얼마 되지 않는다면 무리가 없겠지만 많은 클래스를 테스트 하기에는 불편할 수 있습니다.

 

아래는 JUnit을 도입하지 않은 경우의 일반적인 테스팅 방법을 간간히 보여주니 참고 하세요~

 

예제는 두수의 합을 구하는 클래스인데 합을 구하기 위한 수를 setting하고 그 합을 계산한뒤 이 값을 리턴 하는 간단한 예제 입니다.

 

 

/**
 *
 */
package onjprogramming;

 

/**
 * @author master
 *
 */
public class JUnitTest {

 

             int i = 0;
             int j = 0;
             int sum = 0;
            
             /**
              * 합하기 위한 수를 setting
              * @param i
              * @param j
              */
             public void setValue(int i, int j) {
                           this.i = i;
                           this.j = j;
             }
            
             /**
              * 두수를 합한다.
              * @param i
              * @param j
              */
             public void setSum() {
                           sum = i + j;
             }
            
             /**
              * 두수의 합을 return
              * @return
              */
             public int getSum() {
                           return sum;
             }
            
}

 

 

이 클래스를 테스트 하기 위해서는 간단히 메인 함수를 만들어 테스트 하겠죠,,, 먼저 다음과 같은 메인 함수를 추가 합니다.

 

public static void main(String[] args) {
                           // TODO Auto-generated method stub
                           JUnitTest j = new JUnitTest();
                           j.setValue(10,20);
                           j.setSum();
                           System.out.println("두수의 합은 : " + j.getSum());
             }

 

이제 JUnitTest.java를 컴파일하고 실행하면 결과는 다음과 같이 나올겁니다.

 

[결과]
두수의 합은 : 30

 

이 방법은 우리가 흔히 사용하는 방법으로 현재 예제는 클래스가 하나뿐이라 main() 메소드 하나에서 처리가 가능하지만 단위 테스트를 필요로 하는 클래스가 여러 개 존재한다면 여러 개의 main을 만들어야 하는데 이는 상당히 불편한 일입니다. 물론 테스트시에는 main 메소드를 이용하여 작업하고 납품하기 위해서는 다시 하나씩 지워줘야 하므로 이 역시 불편한 일 일거구요

 

다음 강좌에서는 JUnit을 도입하여 이를 어떻게 처리하는지 살펴 보도록 하겠습니다.

Comments