[jUnit or Hamcrest 셈플]

import static org.hamcrest.Matchers.containsString;
import static org.hamcrest.Matchers.empty;
import static org.hamcrest.Matchers.emptyArray;
import static org.hamcrest.Matchers.endsWith;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.equalToIgnoringCase;
import static org.hamcrest.Matchers.equalToIgnoringWhiteSpace;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.greaterThanOrEqualTo;
import static org.hamcrest.Matchers.hasEntry;
import static org.hamcrest.Matchers.hasProperty;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.lessThan;
import static org.hamcrest.Matchers.lessThanOrEqualTo;
import static org.hamcrest.Matchers.not;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.startsWith;
import static org.junit.Assert.assertThat;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.hamcrest.Matchers;
import org.junit.Test;


public class 테스트케이스 {
	@Test
	public void 셈플() throws Exception{
		assertThat("0이 아니겠지?", 1, not(0));
		assertThat("앞에값이 크겠지?", 2000, greaterThan(1000));
		assertThat("앞에값이 크거나 같겠지?", 1000, greaterThanOrEqualTo(1000));
		assertThat("앞에값이 작겠지?", 2000, lessThan(5000));
		assertThat("앞에값이 작거나 같겠지?", 1000, lessThanOrEqualTo(1000));
		assertThat("앞뒤가 같겠지?", "하이", equalTo("하이"));
		assertThat("앞뒤가 대소문자 구분없이 같겠지?", "aabbcc", equalToIgnoringCase("AaBbCc"));
		assertThat("앞뒤 공백은 좀 바주고 같겠지?", "하이 ", equalToIgnoringWhiteSpace(" 하이"));
		assertThat("널이 아니겠지?", new String("널 아니다"), is(notNullValue()));
		assertThat("리스트가 비어있겠지?", new ArrayList<Object>(), empty());
		assertThat("배열이 비어있겠지?", new String[0], emptyArray());
		assertThat("문자열에 포함되어 있지?", "abc", containsString("b"));
		assertThat("시작하는 단어가 맞지?", "abc", startsWith("a"));
		assertThat("끝나는 단어가 맞지?", "abc", endsWith("c"));


		List<Map<String, String>> mapList = new ArrayList<Map<String, String>>();
		Map<String, String> map = new HashMap<String, String>();
		map.put("name", "ddakkerTest");
		map.put("age", "100");
		mapList.add(map);
		map = new HashMap<String, String>();
		map.put("name", "ddakker");
		map.put("age", "0");
		mapList.add(map);
		assertThat("배열중에서 특정 키의 값이 존재 하지?", mapList, Matchers.<Map<String, String>>hasItem(hasEntry("name", "ddakker")));
		assertThat("해쉬맵에서 해당 필드의 값이 동일하지?", map, hasEntry("name", "ddakker"));

		List<User> userList = new ArrayList<User>();
		User user = new User("ddakkerTest", 100);
		userList.add(user);
		user = new User("ddakker", 0);
		userList.add(user);
		assertThat("배열중에서 특정 필드의 값이 존재 하지?", userList, Matchers.<User>hasItem(hasProperty("name", is("ddakker"))));
		assertThat("빈에서 해당 필드의 값이 동일하지?", user,hasProperty("name", is("ddakker")));
	}
}
  • hamcrest-all-1.3.jar
  • junit-4.4.jar
    ex) Spring 2.5 에서는 junit-4.4 버전을 사용해야 문제가 없다고 함!!


+ Recent posts