inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

회원가입 컨트롤러 테스트

UserControllerTest 테스트 실패 문의

해결된 질문

318

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

170

2

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

0

161

1

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

0

245

2

Dummy 클래스 위치에 대한 질문

0

293

2

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

0

292

2

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

1

434

1

equals와 longValue 관련 질문드립니다

0

328

1

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

0

499

2

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

3

346

0

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

2

1106

1

import 오류

0

426

3

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

0

438

2

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

0

237

1

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

0

286

1

JwtAuthorizationfilter test mvc.performget 부

0

226

1

longValue() 질문

0

228

1

jwt 인가필터 규현및 등록

0

334

1

스프링부트 3버전

1

334

1

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

0

418

1

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

0

359

1

계좌 조회 질문드립니다

0

229

1

DummyObject 에 대하여

0

308

2

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

0

695

2

Builder 사용 궁금

0

404

1