인프런 커뮤니티 질문&답변

NaMooJoon님의 프로필 이미지
NaMooJoon

작성한 질문수

스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션

회원가입 컨트롤러 테스트

UserControllerTest 테스트 실패 문의

해결된 질문

작성

·

215

·

수정됨

0

안녕하세요, 강사님!

강사님 쉬운 설명 덕분에 재밌게 강의 듣고 있습니다. 항상 감사드립니다.

Purpose

다름이 아니라, UserControllerTest 관련 질문이 있어서 이렇게 문의 드립니다.
링크: https://github.com/codingspecialist/junit-bank-class/blob/main/src/test/java/shop/mtcoding/bank/web/UserControllerTest.java

 

Situation

강의에서 나온 대로 `join_success_test()`와 `join_fail_test()` 따로 실행시키면 정상적으로 테스트가 통과합니다.

다만 궁금한 점이 둘이 동시에 테스트를 진행하면(UserControllerTest 클래스 단위로 테스트를 실행하면) `join_success_test()` 테스트에서 실패가 뜨는데요.

Screenshot 2024-02-28 at 2.20.53 PM.png

Approach

제 생각에는 테스트 진행 시 `join_fail_test()`이 먼저 실행된다면, repository에 "ssar"이 먼저 등록되고,

@BeforeEach
public void setUp() {
    dataSetting();
}
private void dataSetting() {
    userRepository.save(newUser("ssar", "쌀"));
}

그 다음 `join_success_test()`가 진행될 때 `dataSetting()` 에서 "Unique index or primary key violation"이 발생하는 게 아닐까 생각이 드는데요.

제가 유추한 것이 맞을까요?

Question

맞다면, 하나 더 궁금한 점이 매번 @BeforeEach로 돌면서

userRepository.save(newUser("ssar", "쌀"));

가 등록이 된다면, 하나의 repository에 계속해서 중복된 값이 저장되기 때문에 오류가 생기진 않나요?

질문이 길어졌습니다.
매번 친절하게 답변해주셔서 감사합니다.

답변 1

0

NaMooJoon님의 프로필 이미지
NaMooJoon
질문자

*** 문제 해결 ***
강사님께서 추후에 다시 말씀해주십니다.

참고: 섹션3 - 회원가입 테스트 오류 잡기

NaMooJoon님의 프로필 이미지
NaMooJoon

작성한 질문수

질문하기