[Spring] TEST

soohee·2023년 2월 9일
0

Spring

목록 보기
4/13

알게된 점

  1. class이름에서 shift + ctrl + t 쓰면, 해당 class의 test 파일 생성가능

  2. editor > live template로 test코드 단축키 저장해놓으면 편리
    given + when + then

  3. @Transactional 해놓으면, Rollback 하는데, Rollback 안하고 싶으면(혹은 db에서 확인하고 싶으면) EntityManager 만들어서, em.flush() 해주면 확인할 수 있다!
    혹은, @Rollback(false)

  4. @Test(expected = 예외에러)를 적어주면, 해당 테스트 메소드에서 발생한 예외가 expected옆에 적어둔 예외와 같을 경우, 테스트가 성공하게 된다

  5. 테스트 환경에서 In-memory db를 사용할 경우에는, test폴더 하위에 resources를 만들면, test 돌릴 때, test/resources/application.properties로 실행되게 된다.
    만약, h2 database를 사용하고 있는 경우, 아래와 같이 지정해주면, in-memory db를 jvm에 띄워서 사용할 수 있다.

    spring.datasource.url = jdbc:h2:mem:test

    그러나!!! springboot에는 기가막힌 것을 제공해주는데, application.properties에 아무것도 넣지 않게 되면, 자동으로 in-memory db를 사용한 테스트를 진행할 수 있도록 한다 😮

  6. 반복되는 객체 만들기 귀찮으면, ctrl+alt+m눌러서 private 메소드 만든 다음에 사용해도 좋다.

  7. 해당 test메소드 실행은 shift+ctrl+f10

  8. shift + ctrl + t 하면, test메소드랑 아닌 메소드를 왔다갔다 편하게 할 수 있다.

  9. [도메인 패턴]으로 작성할 경우, repository와 상관없이, entity에 대해 바로 테스트를 작성할 수 있어서 좋다.
    db와 상관없이 단위테스트 가능!

  10. ctrl+t 누르면, 추천해주는 refactoring 사용 가능

profile
🐻‍❄️

0개의 댓글