Mock test 관련 질문입니다!
안녕하세요 선생님!
제가 이해를 한 내용이 맞는지 질문 드리고자 글을 남기게 되었습니다. (말씀드리기 앞서, 강의 너무 잘 듣고 있습니다 ㅎㅎ 좋은 강의 너무 감사드린다는 말씀 전하고 싶습니다!)
싱글톤 객체를 테스트마다 매번 생성하는게 Mock 객체를 생성하는 것 보다 operation 비용이 많이 든다고 설명해주셨는데요.
제가 이 내용에 대해
테스트 코드 상에서 싱글톤 객체를 생성할 때는 "필요한 모든 필드가 들어가있는 상태인 객체"를 생성하고, Mock객체를 생성할 때는 싱글톤 객체보다 필드가 적어서 상대적으로 비용이 적게 든다
라고 이해를 하고 있습니다. 혹시 이해한 내용이 맞을까요..??
(이해한 내용에 대해서 확실한지 검증하려고 여러 문헌을 찾아봤지만 찾을 수가 없었어요 ㅠㅠ)
Answer 1
4
저도 비슷한 의문을 가지고 있는데 의견을 남겨봅니다..!
Elvis 객체의 sing 메서드가 외부 API를 호출하고 이를 테스트한다고 가정해보겠습니다. 외부 API는 호출 횟수에 따라 price가 생길 수 있다면, 수십번 테스트와 함께 호출되면 안될 것입니다.
(price 발생 없이 test 시간만 오래 걸리는 경우도 마찬가지입니다.)
테스트는 sing 메서드가 잘 호출 됐는지, 외부 API를 호출하는지를 검증하고 싶으므로, 실제 API 호출은 불필요합니다. 때문에 MockElvis를 만들면 실제 API 호출을 제거하여 비용을 줄일 수 있다는 의미로 이해했습니다!
제가 이해한 것이 맞는지 잘 모르겠지만, 도움이 될 수 있다면 좋겠네요 ㅎㅎ
2
v44ads님 의견 감사합니다!!
객체가 외부 API와 연결되고, 그걸 호출하는 부분을 비용으로 상정할 생각을 하지 못했어요. 단지 객체의 생성 비용만 생각하고 있었네요 ㅎㅎ.. 선생님 덕분에 시야가 더 많이 넓어진 것 같습니다.
도움이 많이 됐습니다! 감사합니다!!
JAR파일 dependency 관련하여 질문드립니다.
0
229
2
선생님 작성한 정적 팩토리 메서드에 대해 의견 주실 수 있으실까요??
0
304
2
책에 쓰여 있는 스레드 안전에 대한 제 생각
0
295
2
프로젝트 설정 관련 질문
0
752
1
브릿지 패턴과 서비스 제공자 프레임워크 관계
0
280
1
[과제] EnumMap과 EnumSet가 HashMap과 HashSet보다 효율적인 이유
0
541
1
정적팩토리메소드와 ServiceLoader는 무슨 관계인가요?
0
346
1
강의 제목 오타 발견!!! 뚜둥
0
283
1
mvn install
1
458
1
강의 코드
0
484
2
Builder 필수값 질문입니다.
0
1043
1
Elvis, IElvis 질문이 있습니다.
0
478
1
EnumMap, EnumSet 정리
0
1000
1
HelloService 구현체
0
407
1
[과제] 강의 너무 만족스럽습니다.
0
716
1
PhantomReference 가 소멸되는 시점을 보는 코드 부분이 약간 이상한것 같습니다.
1
545
2
안녕하세요
2
682
1
객체 소멸에 관한 질문
0
543
0
정적 팩토리 메서드에 대해 질문이 있습니다.
0
541
0
안녕하세요 선생님, 강의를 보고나서 Optional 소스코드를 뜯어보다가 어려운 부분이 있어서 질문 드립니다.
2
521
2
기선님 질문있습니다..
0
380
1
intellij의 equals 자동 생성 기능
1
520
1
Builder에 default값 추가하기
0
303
1
[과제] EnumMap, EnumSet
8
880
1

