inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

스프링과 JPA 기반 웹 애플리케이션 개발

관심 주제 테스트

테스트 코드 질문있습니다.

254

조석훈

작성한 질문수 8

0

안녕하세요.

회원계정에 해당하는 태그를 조회하는 서비스로직 getTags에서 궁금한점이 있습니다.

저는 자바8을 사용하고있어서(sysout은 나중에 찍었습니다.)

public Set<Tag> getTags(Account account) {
        Optional<Account> byId = accountRepository.findById(account.getId());
        System.out.println("byid : " + byId.orElseThrow(NullPointerException::new).getTags());
        System.out.println(byId);
        //없으면 에러를 던지고 있으면 태그를 가져온다
        return byId.orElseThrow(NullPointerException::new).getTags();
    }

//결과값
byid : null
Optional[com.jpa.studywebapp.domain.Account@3c]

위와같이 orElseThrow에 인자를 채워서 사용했습니다

그런데 자꾸 테스트에서 NPE가 발생했는데, 신기한점은 실제로 byid는 출력이 되는데 orElseThrow().getTags를 거치면 null이 출력이됩니다.

이 부분은 Detached상태도 아닌데 왜 자꾸 NPE가 출력이 되는지 궁금합니다.

spring JPA thymeleaf java spring-boot

답변 2

1

백기선

NPE하고 null을 리턴한거랑은 다른건데 제가 볼 때 NPE가 발생한건 아닌거 같은데요. 다시 잘 보시기 바랍니다.

0

junyoung.jeong

저같은경우 account에 Set<account> tags = new HashSet<>() 을 추가하여 해결했습니다.

Study 개설하는 로직에 대해서 궁금점이 있습니다.

0

55

1

앱 재시작 후 회원가입

0

103

1

app.host 관련 질문이 있습니다

0

97

1

강의 버전 정보

0

125

1

event, study 참조

0

220

2

비밀번호 변경 로직 질문있습니다.

0

135

1

프로필 수정 처리 merge 질문입니다.

0

108

1

회원가입 성공 후 redirect이동시 권한 질문

0

493

3

HtmlEmailService 개발하다 생긴 의문입니다

0

250

2

postgreSql 연결하여 JPA 를 통해 테이블 생성시 ZONE 테이블 생성에서 에러가 납니다

0

431

2

수업질문 [긴급] 로그인안되는 문제 말씀해주시는 부분 반영해서 최종 질문드립니다

0

260

2

[긴급-재업로드]수업질문 로그인 안 되는 문제

0

235

1

[긴급] 로그인해도 네비게이션 바가 안 바뀌고 있습니다!! 로그인이 안 됩니다 도와주세요

0

277

1

cropper 오류 문제로 질문드립니다..

0

288

2

authentication관련 질문...

0

495

2

모임참가 취소 할때 로직 질문

0

350

3

안녕하세요 기선님 질문이있습니다..

0

229

1

HTML코드 및 강의 중간자료들

0

679

3

springSecurity

0

522

2

버전 질문입니다.

0

302

1

부트스트랩, css

0

353

2

영속성 컨텍스트 질문

0

248

2

다시 강의를 보니 드는생각..

0

352

2

5:50에 나오는 HTML코드는 어디서 찾을 수 있나여?

0

313

1