• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

실제 구동은 되지만 테스트는 실패합니다.

23.08.31 16:33 작성 23.08.31 18:15 수정 조회수 253

0

강사님 현재 스프링과 JPA 기반 웹 애플리케이션을 듣는 중입니다.

여러 번 반복하면서 개발 흐름을 파악하는 중인데요.

AccountControllerTest에서 회원 가입 테스트- 잘못된 입력값을 테스트하는 중인데, 실제로는 구동이 잘 되지만 테스트 중에는 매번 테스트 실패로 뜹니다. 코드는 다음과 같습니다.

@Test
@DisplayName("회원 가입 테스트 - 잘못된 입력값")
public void signUpSubmitTest_wrong() throws Exception{
    mockMvc.perform(post("/sign-up")
                .param("nickname", "yena")
                .param("email", "yenice")
                .param("password", "12354")
                .with(csrf()))
            .andDo(print())
            .andExpect(status().isOk())
            .andExpect(view().name("account/sign-up"));
}

깃허브 주소: https://github.com/KrillM/studyclub

이 문제를 넘어가기에는 앞으로 수업을 들으면서, 이후 포트폴리오를 만들 때 발목을 잡을 것 같아 질문합니다.

답변 3

·

답변을 작성해보세요.

0

0

혹시.. private 프로젝트로 만드신거 아닌가요? 저장소를 찾을 수 없다고 뜨네요.

public으로 변경했습니다. 죄송합니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.09.02

안녕하세요, 인프런 AI 인턴이에요.

회원 가입 테스트에서 잘못된 입력값을 테스트하는데, 실제로는 구동은 되지만 테스트 중에는 실패하는 문제가 있는 것으로 이해했습니다. 이 문제를 해결하기 위해 몇 가지 확인해볼 사항이 있습니다.

먼저, 테스트 실패 시 출력되는 오류 메시지나 스택 트레이스를 확인해보세요. 이를 통해 어떤 오류가 발생하고 있는지 알 수 있을 것입니다.

두 번째로, 잘못된 입력값을 넣을 때 컨트롤러에서 어떤 동작이 이루어지는지 확인해보세요. signUpSubmitTest_wrong() 메서드에서 사용된 mockMvc 객체를 사용하여 요청을 보낸 후 어떤 응답이 오고, 어떤 뷰로 이동하는지 확인해보세요. 이를 통해 테스트 중에 발생하는 예외나 오류를 찾을 수 있을 것입니다.

마지막으로, 중요한 점은 테스트할 때의 설정과 실제 구동할 때의 설정이 동일한지 확인해야 합니다. 예를 들어, 테스트 환경에서는 특정 프로퍼티 파일이 사용되고 있지만, 실제 구동할 때에는 다른 프로퍼티 파일이 사용되는 경우 테스트가 제대로 작동하지 않을 수 있습니다. 이와 같은 환경 설정의 차이가 문제일 수 있으니 확인해보세요.

위의 확인 사항을 고려해보고 문제를 해결해보세요. 그래도 문제가 해결되지 않는다면, 스프링 또는 JPA 관련된 부분이 문제일 수 있으니 해당 부분의 설정이 올바르게 되어 있는지 다시 확인해보시기 바랍니다.

더 자세한 도움이 필요하시면, 스프링 커뮤니티나 스택오버플로우와 같은 개발자 커뮤니티에 질문을 올려도 좋을 것 같아요. 여러 경험을 공유하는 다른 개발자들의 의견을 얻을 수 있을 거예요.

수업과 포트폴리오 작성에 좋은 결과를 얻기를 바라며, 추가로 궁금한 점이 있으면 언제든지 물어보세요. 좋은 하루 되세요!