코드스테이츠_국비교육/[Section3]

55.03_[Spring MVC] 테스팅(Testing)_실습 페어 및 궁금증_22.11.09

생각없이 해도 생각보다 좋다. 2022. 11. 9. 21:07

궁금증
1. @Transactional 이 왜 붙었을까? 무슨 역할을 하지
=> 테스트 케이스에 한해서는 테스트 케이스가 작동하고나면 rollback이 일어남.

: 현재는 DB가 연동이 안되었을때 GET, DELETE, PATCH 를 할 줄 모른다. 때문에 각각의 HTTP Methods를 테스트하기 위해서는 테스트 전에 미리 DB에 데이터를 넣어주어야한다.

주의할 것은 DB에 데이터를 넣고 테스트를 진행한 후, 마지막에는 DB에서 다시 사용한 데이터를 지워야하는 점이다.

이것을 편하게하기 위해서 @Transactional을 테스트 클래스에 붙이고, 각각의 테스트 케이스가 종료되면 DB가 롤백되게 만든다.

 

2. MockMvc
: 서블릿 컨테이너를 거치지 않음. (톰캣안씀)
: 덕분에 빠르게 테스트 가능

3. $
: JavaScript에서는 root를 의미함.
: JSON 객체 자체를 root로 취급