작성
·
95
0
안녕하세요 초기 egov에서 받을 때 최신인 5.3.6버전을 받아서 그런지 초기 DataSourceTest에서
@RunWith는 jUnit4버전을 가리키고 저는 5.3.6버전의 spring을 이용했어서인지 SpringJunit4ClassRunner.class가 import 되지 않아 난항을 겪던 중
pom.xml의 버전을 강사님처럼 5.0.7 RELEASE 버전으로 수정하면서 chat gpt의 도움을 받아 DataSourceTest의 테스트를 실행할 수 있었습니다.
그러나 console에서 연결이 되었다는 메세지도 없으며
이를 이상하게 여기고 root-context.xml에 기입된 비밀번호를 강사님처럼 일부러 틀리게 한 후
실패를 기대한 상태로 run을 돌렸지만, jUnit에 Failures가 뜨지도 않습니다..
혹시 이런 경우에도 방법이 있을까 하여 코드도 함께 첨부합니다.. (pom.xml은 다른 글에 올려주신 참고 블로그의 것을 인용했습니다.)
[pom.xml]
=> 10000자를 올릴 수 없다하며 노션 링크를 첨부하겠습니다!
https://devfighting.notion.site/18410212999180b5b0a9cd4ada3a6a58?pvs=4
[console결과, jUnit 결과]
[maven dependencies]
답변 2
0
계속 찾아보니 log가 제대로 작동을 안하는 것 같아 관련 의존성을 비교해보고 의존성 제거를 했지만 maven dependencies에서 계속 유지되어 서로 다른 버전이 상충되는 것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. taetae님.
JUnit 테스트에서 오류 없이 올바른 결과가 나오지 않는 상황은 여러 가지 이유로 발생할 수 있습니다. 가장 일반적인 원인은 다음과 같습니다:
Annotation 미사용: JUnit 5는 기본적으로 @Test
등의 어노테이션으로 테스트 메서드를 구분합니다. 이러한 어노테이션이 누락되지 않았는지 확인해 보세요.
테스트 코드는 오류가 없으나 의도된 동작을 수행하지 않는 경우: 테스트 코드가 의도한 로직을 수행하도록 제대로 작성되었는지 확인해 보세요. 예를 들어, Connection이 성공적으로 설정되었는지 실제로 검증하는 코드가 빠져 있을 수 있습니다.
제대로 된 assertion 사용: JUnit
테스트에서 Assertions
를 사용하여 결과를 기대하는 값과 비교해야 합니다. 이것이 적절하게 설정되어 있는지 확인해보세요.
스프링 설정 문제: spring-test
를 사용하는데 필요한 의존성이나 설정이 제대로 구성되지 않을 경우 발생할 수 있습니다.
관련 문제를 해결하기 위해 이 게시물들을 참고해 보세요:
이 질문에서 MySQL JDBC 드라이버를 이용한 연결 문제를 다루고 있으며, 드라이버 클래스 설정 문제 등을 체크할 수 있습니다.
여기에서는 HikariCP 설정으로 인한 에러 관련 정보를 확인할 수 있습니다.
질문하신 테스트 상황에서는 유효성 검사를 포함하여 테스트 기대값을 확실히 정의하고, JUnit 버전에 맞추어 올바르게 테스트 환경을 설정하는 것이 중요합니다. root-context.xml
의 데이터베이스 설정과 관련된 값들이 테스트 중에 정확히 적용되고 있는지도 다시 한번 확인해 보세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
프로젝트에서 마우스 우측버튼을 클릭하고 Maven updates를 해보시고 다시 테스트 해보시기 바랍니다.^^