작성
·
322
0
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
스프링 예외 추상화 이해 파트 부분 강의에서 스프링이 제공하는 예외 변환기 부분에서 test 코드 짜실때
DataSource dataSource;
@BeforeEach
void init(){
datasource = new DriverManager~();
}
이런 식으로 작성하셨는데 @BeforeEach 안쓰고 @Test 코드 작성하기 전에 테스트 클래스 상위에 DataSource dataSource = new DriverManager~();
이런식으로 작성하는건 안되나요??
답변 1
0
안녕하세요. 황지호님, 공식 서포터즈 코즈위버입니다.
지금은 질문하신것처럼 필드에서 new DriverManager()를 한 번만 생성하여 사용해도 무방합니다.
@BeforeEach 에서 드라이버를 생성한 이유는, JUnit 테스트는 서로가 서로의 결과를 간섭하지 않도록(독립적으로) 구성하는게 좋은데요, 그래서 이전 테스트가 사용한 리소스를 다음 테스트가 이어받아 사용하지 않고 새로 생성하여 사용하여 각각의 테스트가 서로 동등한 조건에서 진행할 수 있도록 조절한 것입니다 :)
그러나 지금처럼 명백히 문제가 생길 여지가 없는 상황과 리소스라면 한 번 생성한 리소스를 재활용하여도 무방합니다.
감사합니다.