학습 테스트

학습 테스트의 장점

다양한 조건에 따른 기능 테스트 가능

학습 테스트 코드를 개발 중 참고할 수 있다.

프레임워크나 제품을 업그레이드 할 때 호환성 검증을 돕는다.

테스트 작성 훈련을 할 수 있다.

학습 테스트 예제

JUnit 테스트 오브젝트 테스트

import org.junit.Test

public class JUnitTest{
	static JUnitTest testObject;

	@Test
	public void test1(){
		assertThat(this, is(not(sameInstance(testObject)));
		testObject = this;
	}

	@Test
	public void test2(){
		assertThat(this, is(not(sameInstance(testObject)));
		testObject = this;
	}

	@Test
	public void test3(){
		assertThat(this, is(not(sameInstance(testObject)));
		testObject = this;
	}
}
import org.junit.Test

// hasItem(obj) : testObject에 obj가 있는지 확인하는 용도
public class JUnitTest{
	static Set<JUnitTest> testObject = new HashSet<JUnitTest>();

	@Test
	public void test1(){
		assertThat(testObject, not(hasItem(this)));
		testObject.add(this);
	}

	@Test
	public void test2(){
		assertThat(testObject, not(hasItem(this)));
		testObject.add(this);
	}

	@Test
	public void test3(){
		assertThat(testObject, not(hasItem(this)));
		testObject.add(this);
	}
}

스프링 테스트 컨텍스트 테스트