효율적인 테스트

언젠간·2022년 8월 23일
0

토비의스프링

목록 보기
12/16

테스트

  • 모든 테스트는 성공과 실패의 결과를 가진다.

  • 실패는 테스트가 진행되는 동안에 에러가 발생해서 실패하는 경우와(=테스트 에러), 에러가 발생하진 않았지만 결과가 기대한 것과 다르게 나오는 경우(=테스트 실패)로 구분된다.

  • 기존 소스

	UserDao dao = ac.getBean("userDao", UserDao.class);
	User user = new User();
	user.setId("whiteship");
	user.setName("김동현");
	user.setPassword("married");
	dao.add(user);

	UserDao dao2 = ac.getBean("userDao", UserDao.class);
	User user2 = dao.get("whiteship");
	System.out.println(user2.getId() + " 조회 성공");
  • 눈으로 일일이 확인하는 것이 아닌, 코드로 검증하기 위해 아래처럼 변경
	if(!user.getName().equals(user2.getName())) {
		System.out.println("테스트 실패 (name)");
	}
	else if(!user.getPassword().equals(user2.getPassword())) {
		System.out.println("테스트 실패 (password)");
	}
	else {
		System.out.println("조회 테스트 성공");
	}
  • 좀 더 편리하게 테스트를 수행하고, 결과를 확인하려면 JUnit 테스트 사용
  • JUnit 사용 전
    • pom.xml 의존성 추가
    • import 추가
 		<dependency>
			<groupId>org.assertj</groupId>
			<artifactId>assertj-core</artifactId>
	 		<version>3.21.0</version>
		</dependency>
		import static org.assertj.core.api.Assertions.assertThat;
  • 테스트 실행 코드
  public class JUnitCoreCreateMain {
      public static void main(String[] args) {
          JUnitCore.main("com.toby.dao.UserDaoTest");
      }
  }
  • 결과(성공)
  • 결과(실패)
profile
코딩왕이될사나이

0개의 댓글