inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

회원가입 컨트롤러 테스트

UserControllerTest 테스트 실패 문의

해결된 질문

322

NaMooJoon

작성한 질문수 3

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에 계속해서 중복된 값이 저장되기 때문에 오류가 생기진 않나요?

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

spring-boot junit 소프트웨어-테스트

답변 1

0

NaMooJoon

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

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

요청/응답 DTO 관련 문의

0

185

2

안녕하세요 인증이 필요한 url을 위하여 /s를 붙이는것에 대해 질문있습니다.

0

168

1

validation aop사용에 대해서 질문있습니다.

0

259

2

Dummy 클래스 위치에 대한 질문

0

307

2

테스트 방식에 관해서 질문이 있어요

0

308

2

스프링 버전업일 경우에는 Pointcut @PostMapping 조건이 달라질까요?

1

447

1

equals와 longValue 관련 질문드립니다

0

337

1

계좌번호를 Long 타입으로 하는 이유가 무엇일까요?!

0

514

2

[정보공유] Hibernate 로그 작동 안하시는 분들!!

3

353

0

스프링 시큐리티 6.2 버전 이후로 apply() 메서드를 이용한 JwtAuthenticationFilter 가 등록이 안됩니다.

2

1123

1

import 오류

0

446

3

spring initializer gradle 에서 3.x.x 대 밖에 없어요. 2.x.x는 보이지 않는데 어떡하져

0

447

2

안녕하세요 로그엔 성공적으로 들어온것같습니다..

0

244

1

JwtAuthorizationfilter test mvc.performget 관련 질문입니다!

0

292

1

JwtAuthorizationfilter test mvc.performget 부

0

236

1

longValue() 질문

0

237

1

jwt 인가필터 규현및 등록

0

337

1

스프링부트 3버전

1

339

1

권한처리를 위한 세션강제주입

0

423

1

JwtVO 를 인터페이스로 만든 이유

0

364

1

계좌 조회 질문드립니다

0

236

1

DummyObject 에 대하여

0

313

2

DTO를 이너클래스로 계속추가하는 이유

0

706

2

Builder 사용 궁금

0

410

1