테스트 검증 자동화

add()로 추가한 데이터와 get()으로 얻은 데이터가 일치하는지 확인해야 한다.

테스트의 효율적인 수행과 결과 관리

JUnit 테스트로 전환

테스트 메소드 전환

검증 코드 전환

import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertThat;

public class UserDaoTest{
	@Test
	public void addAndGet() throws SQLException{
		ApplicationContext context = new GenericXmlApplicationContext("applicationContext.xml");
		UserDao dao = context.getBean("userDao", UserDao.class);
		User user = new User();
		user.setId("id");
		user.setName("name");
		user.setPassword("password");
		dao.add(user);
		User user2 = dao.get(user.getId());

		//assertThat : 첫 번째 파라미터와 두 번째 파라미터를 matcher 조건으로 비교
		//assertThat은 equals와 비슷한 기능을 갖는다.
		assertThat(user2.getName(), is(user.getName())); //user와 user2의 name 비교
		assertThat(user2.getPassword(), is(user.getPassword())); // user와 user2의 password 비교
	}
}