[Trouble Shooting] 통합테스트(intTest) Error : @Authwired 인식 오류

yusub kwak·2025년 1월 13일

Trouble Shooting

목록 보기
1/5
post-thumbnail

개요


강의를 듣던 중 redis, mongoDB, mysql를 이용한 통합테스트(intTest) 자료가 제대로 실행되지 않는 문제가 발생했다....😂😂😂😂😂😂

mongodb replicaSet 이후로 오랜만에 다시 트러블 슈팅을 하는데 생각보다 삽질도 많이 하고 배운 점도 많아 한번 정리할 겸 이렇게 글로 남기고자 한다.

Project Structure


Project Structure

이것이 강의 중 프로젝트 구조 일부이다.
여태까지 항상 test 디렉토리 내에서만 Test를 진행했었는데 이런 식의 프로젝트 구조는 처음 봐서 좀 많이 당황스럽기도 했다.

간단하게 각각의 용도를 이해하고 오류 해결를 진행하자.

intTest			// 통합 테스트 디렉토리
│ 
main			// 메인 애플리케이션 디렉토리 
│ 
test			// 단위 테스트 디렉토리
│ 
testFixtures	// test Code 재사용 (Stub 용도)

testFixtures란?
testFixture를 쓰는 이유에 대해서 다루고 있다. 잘 알아두면 요긴하게 쓰일 곳이 많을 것 같아 같이 첨부한다.

@Authwired 인식 오류


이것은 intTest 디렉토리 내부 TestCode를 일부 발췌했다.
보시는 것처럼 @Autowired에 빨간 줄이 생기며 bean 등록이 제대로 안되었을 수도 있다는 경고문을 띄우게 된다.

결론부터 말하면 그저 경고일 뿐이지 intTest 실행 error가 발생하는 원인은 아니였다. 즉, 빨간 줄이여도 테스트 동작이 원래는 가능했던 것이다. (나중에 문제를 해결하고 나서야 이 일을 알았다ㅜㅜㅜ)

intTest에서 해당 문제가 발생한 이유는 간단했다.
intellij가 intTest를 테스트 디렉토리로 인식하지 못했기 때문에 발생한 문제이다.
그렇기에 해결하는 방법도 간단하다.

intellij 상단 탭 -> file -> Project Structure

Project Structure의 Modules 탭으로 가면 디렉토리를 Mark as를 통해 용도에 맞게 변경할 수 있다.

이렇게 test folder로 바꿔주면 디렉토리 내부가 test 디렉토리처럼 초록색으로 색처리되며 autowired에 빨간 줄이 사라지게 된다.

profile
맡은 일은 끝까지 책임지고 완수하자

0개의 댓글