24.03.01

서린·2024년 3월 1일

혼자개발

목록 보기
57/82

회원가입을 하는 과정에서 정규식이 들어오는지, db에 insert가 잘 되는지 등 안쪽의 여러가지의 기능들을 테스트 하기 위함

src/test/java : JUnit test 관련된 패키지, 테스트 코드만 작성

@SpringBootTest

  • 없으면 순수한 java가 된다
  • 가볍게 볼 때는 없는게 나을 수 있다
  • 만약 bo에 대해, bo에 있는 메소드르 불러서 테스트 해보고 싶을 때 spring bean을 써야 할 때 @SpringBootTest이 spring을 기동시키는 것이기 때문에 사용하면 된다

ProjectApplicationTests.java

간단한 더하기 테스트를 실행해봤더니 test가 정상 작동 되었다

그 다음 userBO를 테스트 하는 방법이다
UserBO.java에 오른쪽 마우스 -> New -> JUnit Test Case -> finish로 test를 생성한다
@SpringBootTest를 추가해준다

test가 완료 되고 db를 확인해보면

test user가 저장되었다
하지만 이런 가짜 데이터는 db의 내용을 손상시킬 수 있기 때문에
rollback(insert 해준 다음 바로 지워준다)시켜주는 어노테이션인 @Transactional을 사용해야한다

@Transactional은 어떤 일련의 과정의 묶음을 뜻하는 단어로
어떤 일련의 과정(ex.회원가입) 중간에 @Transactional 어노테이션이 붙은 메소드에서 에러가 발생하면 그 과정을 모두 rollback 시켜주는 기능을 하며
테스트에서는 가짜 데이터에 대해 rollback 기능을 한다.

0개의 댓글