@VisibleForTesting을 활용에 대한 단상

https://shoulditestprivatemethods.com/ 라는 사이트가 있습니다. 본문의 내용처럼 private method에 대해 테스트 코드를 작성하지 말라는 이야기인데요. 단순히 "private 메서드에 대한 테스트 코드는 작성하지 말자"로 정리하면 안 됩니다. 왜 private method에 대한 테스트 코드를 작성하면 안 되는지, 그럼 그에 대한 테스트 코드는 무시하면 되는지, 아니면 어떻게 해야 하는지 등 코드 전반에 대해 고민이 필요하죠. @VisibleForTesting이라는 어노테이션으로 private method를 테스트하는 코드에 대한 생각을 작성해 주신 글이 있어 공유드립니다. 저도 몰랐는데 https://github.com/google/guava/blob/master/guava/src/com/google/common/annotations/VisibleForTesting.java 이런 게 있더라고요. 테스트 코드를 작성하는 이유는 텍스트 그대로 "테스트"를 하기 위한 목적이 가장 크지만 그 외에 코드설계에 대해 다시 리팩토링할 수 있는 기회로 삼아야 한다고 생각합니다. 어떤 메서드를 테스트해야 하는데 그게 private method라면? 그 메서드를 호출하는 클라이언트를 테스트한다든지, 책임과 관심사를 분리해서 로직이 밖으로 드러날 수 있도록 할 수도 있겠고요. http://www.chidoo.me/index.php/2023/08/25/thinking-about-visible-for-testing-annotation/

@VisibleForTesting을 활용에 대한 단상

Dreaming for the Future

@VisibleForTesting을 활용에 대한 단상

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 8월 25일 오전 5:10

댓글 0

    함께 읽은 게시물

    io.valkey.glide 의 장단...

    클라우드 환경에서의 Redis 라이센스 정책에 의해서 최근 io.valkey 에 대한 마이그레이션을 준비하고 있습니다. Valkey 는 Redis 7.4 미만 버전의 fork 서비스로 현재는 valkey 8.0 까지 release 되었지만, 저희는 아직 Valkey 7.2.x 로 테스트를 하고 있어요.

    ... 더 보기

    < 답답한 팀원 때문에 잠 못 드는 리더에게 >

    1

    ... 더 보기

    한 장에 메시지 하나만

    

    ... 더 보기

    AI 시대, 데이터 분석에 대해 새롭게 정의해야 하는 이유

    AI 시대를 맞이하면서 우리는 다양한

    ... 더 보기

    MCP 모르면 대체 얼마나 손해 보는 걸까?🤔

    ... 더 보기

    MCP 모르면 대체 얼마나 손해 보는 걸까? | 요즘IT

    요즘IT

    MCP 모르면 대체 얼마나 손해 보는 걸까? | 요즘IT

    99%가 코딩 공부를 실패하는 이유

    코딩 배울 때 피해야 할 공부법과 해결책 글을 읽고 핵심을 간략하게 정리해서 제 생각과 함께 공유합니다. 1️⃣ 튜토리얼에 의존하게 되는 경우 처음 배울 때 튜토리얼을 찾아서 샘플 어플도 따라 만들어 본다. 그후에 혼자서 스스로 어플을 만들려면 머릿속이 백지처럼 변한다. 마치 안 배웠던 것처럼 까먹고 무엇을 어디서부터 어떻게 시작해야 하는지 모른다. 튜토리얼만 무조건 따라 한다고 기술을 습득할 수 있는 건 아니다. 튜토리얼을 따라 하면서 중요한 것은 관련 지식을 '내 것'으로 만드는 것이다. 관련 지식을 내 것으... 더 보기

    Why 99% of People Fail to Learn to Code

    Medium

    Why 99% of People Fail to Learn to Code

     • 

    댓글 2 • 저장 77 • 조회 5,908