프로그래밍/JAVA2010.04.22 11:03
이클립스에는 JUnit이 기본적으로 포함되어 있기 때문에 쉽게 테스트 케이스를 작성하고, 테스트를 해볼 수 있습니다.

아래 그림과 같이 Java 프로젝트를 생성하고 Number라는 클래스를 작성합니다.


Number클래스는 JUnit을 통해 테스트를 실행하게 될 클래스이며, test는 테스트 클래스들이 들어갈 패키지 입니다.(패키지명은 자유롭게 지정할 수 있습니다.)

Number 클래스의 코드는 다음과 같습니다.
public class Number {

	private int value;
	
	public Number() {
		this(0);
	}
	
	public Number(int value) {
		this.value = value;
	}
	
	public int add(int rhs) {
		return value += rhs;
	}
	
	public int minus(int rhs) {
		return value -= rhs;
	}
	
	public int multiply(int rhs) {
		return value *= rhs;
	}
	
	public int divide(int rhs) {
		return value /= rhs;
	}
	
	public int getValue() {
		return value;
	}
	
}
테스트 클래스를 작성하기 위해 프로젝트에 JUnit을 추가해야 합니다.
프로젝트의 Properties를 열고 Java Build Path에서 Add Library 버튼을 클릭해 JUnit을 프로젝트에 추가할 수 있습니다.



선택할 수 있는 JUnit 은 버전3과 버전4가 있는데 본 예제에서는 4를 선택하도록 하겠습니다.


아래 그림과 같이 JUnit 라이브러리가 프로젝트에 추가된 것을 확인할 수 있습니다.


Number 클래스에서 오른쪽 마우스를 클릭해 New - JUnit Test Case를 클릭합니다.

아래 그림과 같이 Package를 Number.test로 지정하고 Next를 클릭합니다.


아래 그림과 같이 테스트를 수행할 Number 클래스를 체크하고 Finish 버튼을 클릭하면 테스트 클래스가 생성됩니다.


테스트 코드는 다음과 같습니다.
package Number.test;

import static org.junit.Assert.*;

import org.junit.Test;

import Number.Number;

public class NumberTest {

	@Test
	public void testNumber() {
		Number num = new Number();
		assertEquals(0, num.getValue());
	}

	@Test
	public void testNumberInt() {
		Number num = new Number(10);
		assertEquals(10, num.getValue());
	}

	@Test
	public void testAdd() {
		Number num = new Number(10);
		assertEquals(20, num.add(10));
	}

	@Test
	public void testMinus() {
		Number num = new Number(10);
		assertEquals(5, num.minus(5));
	}

	@Test
	public void testMultiply() {
		Number num = new Number(5);
		assertEquals(25, num.multiply(5));
	}

	@Test
	public void testDivide() {
		Number num = new Number(20);
		assertEquals(2, num.divide(10));
	}

	@Test
	public void testGetValue() {
		Number num = new Number(20);
		assertEquals(20, num.getValue());
	}

}
테스트를 실행하기 위해 NumberTest 클래스에서 오른쪽 마우스를 클릭해 Run as - JUnit Test를 클립합니다.

테스트가 실행되고 아래 그림과 같이 모든 테스트가 성공했음을 확인할 수 있습니다.


만약 테스트가 실패하면 아래 그림과 같이 실패한 테스트와 메세지를 확인할 수 잇습니다.


신고
Posted by devop
TAG , ,