inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Practical Testing: 실용적인 테스트 가이드

테스트하기 어려운 영역을 분리하기

인자값을 LocalDateTime을 전달받는 경우 통합테스트에서는 어떻게 처리 되나요?

537

drrg9211

작성한 질문수 2

0

안녕하세요. 강의를 열심히 보고 있는 수강자입니다.

다름이 아니라 이번 강의를 보면서 궁금한 점이 있는데요!

LocalDateTime을 인자값으로 전달받아 단위테스트하기 좋게 리팩토링하셨는데, 나중에 createOrder를 호출하는 객체의 통합테스트를 진행할때는 시간에 대한 테스트코드를 어떻게 처리하는지 궁금합니다.

예를 들어 CafeKioskRunner에서 main 메서드를 통합 테스트한다고 했을 때 시간에 따라 createOrder에서 성공 또는 exception이 발생할 것 같아서 이것에 대한 통합테스트를 어떻게 처리하는지 궁금합니다.

감사합니다.

spring tdd jpa mockito 소프트웨어-테스트 junit5

답변 1

0

박우빈

안녕하세요, drrg9211님! :)

뒤쪽 강의에서도 비슷한 이야기가 나오겠지만, 테스트하기 어려운 코드를 상위 레이어로 분리할 때 항상 고민해야하는 것 중 하나는 어떤 레이어까지 분리해낼 것인지를 정하는 것입니다.
즉, 해당 코드를 계속 위쪽으로 분리하다보면 어느순간 멈춰야하는 지점이 있을텐데요. (보통은 가장 상위 레이어)

다시 반대로 이야기하면, 로직의 시작점인 최상위 레이어를 테스트 하는 것이 과연 효율적인 선택인지를 고민해야 한다는 뜻이기도 합니다.
(즉, View, 현재시간 값 등에 대한 로직 밖에 없는 main 메서드를 테스트하는 것이 효율적인가 하는 문제입니다.)

섹션 5에서 레이어별 테스트를 소개하면서 조금 더 자세히 풀어내고 있으니, 한번 참고해보시면 좋을 것 같네요. ㅎㅎ

감사합니다 :)

private 상수 테스트 관련 질문

0

83

1

void는 어떻게 테스트하나요..? void로 애초에 코딩하면 안되나요??

0

126

2

커버리지는 어떻게 활용하시는지 궁금합니다.

0

161

2

테스트 문서화 질문입니다

0

105

2

단위테스트 질문이 있습니다

0

96

2

컨트롤러는 모킹을 한 이유가 궁금합니다.

0

102

2

ERD 가장자리에 있는 도메인 테스트 질문

0

89

2

DTO 검증 필드에 대한 테스트 코드 작성은 어디까지?

0

135

2

OrderCreateRequest DTO에 대해서 궁금한점

0

102

2

고전파의 테스트 대역 사용 대상, 공유 의존성

0

155

2

계층 관련 질문이 있습니다.

0

139

3

'코틀린'에서는 빌더를 따로 쓰지 않는데, 이 때는 어떻게 test fixture를 만드시는지 궁금합니다

1

123

2

혹시 update 로직은 어떻게 테스트하나요? (@Setter?)

0

134

2

단위테스트와 통합테스트의 경계가 궁금합니다.

0

228

2

Service+Repository 통합테스트 관련 질문입니다.

0

150

2

OrderControllerDocsTest 작성 해봤는데요. 날짜 형식이 이상하게 나와요

0

184

2

test 용 .yml

0

90

2

throws Exception

0

79

2

카페키오스크 클래스 문의 ,,

0

88

2

Rest docs 문서용 테스트코드를 따로 작성해야 되나요?

0

173

2

테스트 코드에서 필요한 생성자

0

138

1

tearDown 순서

0

116

2

@Builder 생성자 private

0

136

2

@DisplayName gradle / intellJ

0

93

2