🔥딱 8일간! 인프런x토스x허먼밀러 역대급 혜택

Thumbnail
BEST
개발 · 프로그래밍백엔드

Spring Boot TDD - 입문부터 실전까지 정확하게대시보드

(5)
30개의 수강평 ∙ 408명의 수강생
154,000원

월 30,800원

5개월 할부 시
지식공유자: 이규원
총 109개 수업 (14시간 9분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가공유
  • Seunghyeon Lee 프로필Seunghyeon Lee
    2025-08-261668114

    안녕하세요 강사님 스프링을 통한 테스트코드작성이 어려움을 해결해줄 강의를 찾고있어 아래 제가 고민중인 내용을 남깁니다! 아래 고민을 위강의로 해결할수있을까요? 1. 어디까지가 테스트 범위인지 모르겠습니다. 제가 속한 회사는 테스트코드를 작성하지 않고, API 구현도 1~2명의 백엔드 팀원이 진행하는 구조라서 사실 서로 테스트코드 없이도 의사소통이 잘 됩니다. 그런데 실제로 여러 사람과 협업한다거나, 제 코드를 제가 유지보수할 수 없게 되는 상황을 가정했을 때, 제 API에 대해 어느 정도까지, 그리고 어떤 방식으로 테스트코드를 작성해야 하는지 감이 잘 오지 않습니다. 예를 들어, Spring Security의 Role 기반 인가 처리가 된 사용자만 접근할 수 있는 공지사항 페이지네이션 API를 구현했다고 할 때, 해당 API 요청부터 응답까지를 통합해서 테스트하는 것 과정 속에 있는 모든 기능(단위)을 따로 테스트하는 것 둘 다 해야 하는지 궁금합니다. 구체적으로는, Spring Security 자체 동작 Controller에서 전달받는 인수값 유효성 검증 Service 계층의 로직에서 호출하는 외부 Service 편의를 위해 전역으로 만든 Static Util Method Repository, QueryDSL, 그리고 공통으로 생성한 CustomQuerydslSupport 클래스 이런 부분들을 어디까지 테스트해야 하는지 모르겠습니다. --- 2. 데이터베이스에 의존적인 코드를 어떻게 테스트해야 하나요? QueryDSL 메서드 위임이나 JPQL로 작성된 메서드들에 대한 테스트는 어떻게 하는 게 맞을까요? 저는 CustomQuerydslSupport 같은 공통 추상 클래스를 DslImpl에 상속받아서 QueryDSL에서 사용하고 있는데, 이걸 테스트하려니 막막합니다. 테스트에 필요한 데이터를 넣을 때, Entity 클래스를 직접 빌드해서 넣고 시작하는 건지? 그렇다면 한 엔티티에 엮인 테이블이 여러 개일 경우, 이걸 전부 다 넣어야 하는지? 다 넣는다고 하면 가독성이 너무 떨어지지 않을까? 데이터를 넣는과정에서 지쳐버러셔 테스트를 대충하게되는 구조로 변질되지않을까? 이런 고민이 있습니다. 또 저는 JPA ddl-auto를 사용하지 않는 편인데, 이런 경우 더미 데이터를 넣는다고 해도 DB에 직접 만들어둔 트리거가 없으면 유의미한 데이터가 생성되지 않는 경우가 있습니다. 이런 건 어떻게 처리하는 건지 아예 감이 잡히지 않고, 가장 어려운 영역입니다. --- 3. @Mock, @Spy? 이런것들 너무 어렵습니다 정말 - 레퍼런스를 일부보아도 실제 프로젝트에 적용하려니 의존성주입문제가 조금만 발생해도 해결이어렵습니다. 아니면 Interface로 의존성을전부 분리시켜서 직접 stubbing같은걸 구현하는 방식으로 해도괜찮은지 알고싶습니다

    이규원
    이규원
    이규원
    2025-08-28438230

    이승현님 안녕하세요. 테스트와 관련해서 많은 고민들을 하고 계시는군요. 말씀하신 대부분의 고민들을 이번 강의가 다루고 있습니다. 3번의 경우 테스트 대역을 사용하는 방법은 다루지 않지만 테스트 대역이 정말로 필요한지에 대해서는 생각해 보실 수 있을 것 같습니다. 강의를 수강해 보셔도 좋을 것 같아요. :)

  • goddios 프로필goddios
    2025-06-251622349

    안녕하세요, 강사님! 백엔드를 공부하고 있지는 않지만 TDD에 대한 개념을 알고 싶어 수강을 고민중에 있습니다. 스프링부트는 사용해보지 않았는데, 자바 문법만 알고 있는 상태에서도 수강이 가능할까요?

    이규원
    이규원
    이규원
    2025-06-25424796

    안녕하세요. 강의에 관심 가져주셔서 감사드립니다. 스프링 부트를 사용하는 강의이기는 하지만 스프링 부트에 대한 내용이 꼭 필요한 선수지식은 아닙니다. 자바 문법만 알고 계셔도 실습은 모두 따라가실 수 있고 스프링 부트 앱을 실제로 개발하는 경험을 하실 수 있습니다. :) 다만 스프링 부트를 설명하는 강의는 아니기 때문에 그 경험을 통해 스프링 부트를 잘 알게 되는 것은 아니라는 점도 말씀드립니다.

  • 김규영 프로필김규영
    2025-05-271602436

    안녕하세요 강사님 추가적으로 질문이 있어 글을 남깁니다. 현업에서 무지성으로 테스트코드가 필요해서 검색만으로 이것저것 찾아다가 깊이있게는 알지 못하고 시나리오테스트만 작성해왔는데 이게 기본이 있는건지 모르겠습니다. TDD 강의를 수강하고 현업에서 필요한 지식을 전달하신다고 하셨는데 기본이 없는 사람들이 수강해도 도움이 될까요?

    이규원
    이규원
    이규원
    2025-05-27418048

    네, 입문자분들도 중요한 대상으로 제작한 강의여서 테스트나 TDD에 대한 지식이 없어도 강의를 무리없이 수강하실 수 있습니다. :)

  • 김규영 프로필김규영
    2025-05-271602347

    안녕하세요 강사님 tdd 강의를 시청하고싶은데 앞서 궁금한점이 있어서요. 강의를 하실때에 (예를들어 BDD 스타일의 코드, Mockito로 Stubbing하기, @MOCK 어노테이션 역할) 이런식으로 강의 제목이 있기 보다는 각각의 강의 제목이 보통 -- 실패 -- 오류처리 이렇게 주제에대해서 적혀있기도 하고 기술에 대해서는 직관적이지 않은 것 같아서요. 주제에 대해서는 뭘 하시려는지는 알겠는데 다른 관점에서 보면 모호해서 수강을이망설여지는것 같습니다. 간략하게 설명 부탁드려도될까요? 그리고 패캠 강의도 진행중이시던데 인프런과 패캠강의 어떤차이가 있는지도 궁금합니다. ㅜㅜ 패캠은 정보가 많이 없어서요! 감사합니다

    이규원
    이규원
    이규원
    2025-05-27418014

    안녕하세요 규영님 강의에 관심을 가져주셔서 고맙습니다. 우선 패스트캠퍼스 강의와 차이점은 말씀드리면, 패스트캠퍼스 강의는 도구에 독립적인 이론과 예제에 초점이 맞춰져 있습니다. 그래서 TDD나 테스트 대역(test doubles) 등의 전반적인 개념을 이해하고 싶으면 적절할 수 있습니다. 이번 Spring Boot TDD 강의는 주변에서 TDD 강의를 수강했지만 실무에서는 여전히 어떻게 적용할 지 막막함이 있다는 말들을 들어서 앱 개발 도구를 특정하고 실무 상황과 비슷한 실습 기반으로 막막함을 풀기 위해 만들었습니다. 또 한 가지, 지인들과 TDD 얘기를 하다보면 TDD 자체에 대한 이해는 부족한데 말씀하신 BDD, Mockito 같은 주변 기법에 더 관심을 가져서 또 결국 TDD는 실무에서 실패하는 경우도 많이 접합니다. 왜 기본에 충실하지 못하고 곁가지부터 다루려고 하는지 이유를 들어보면 TDD에 대한 기존 컨텐트가 주로 그런 방향이다보니 다른 길이 있는지 몰랐다고 합니다. 그래서 이번 강의는 특별한 추가 도구를 사용하지 않고, TDD 핵심에 집중하고 Spring Boot만 사용해서 TDD로 앱을 만드는 경험을 제공하는 방향으로 만들었습니다. 주변 기법을 배우기 전에 먼저 TDD 자체에 대한 기반 역량을 탄탄히 다지는 것이 목적입니다. 그리고 저는 실제로 BDD, Mockito, @Mock 애노테이션 등을 실무에서 거의 또는 전혀 사용하지 않습니다. 조심스럽지만 제 지인들의 대답들에 기반해서 추측을 해보면 아마 규영님이 모호하다는 생각이 드시는 이유는 과거에 접하신 TDD 컨텐트들이 주변 기법을 많이 다뤘고, 그래서 그런 기법들이 있어야 TDD라는 생각이나 무의식이 만들어진 것일 수도 있겠습니다. 답변이 수강 결정에 도움이 되셨으면 좋겠습니다!

  • Jeong 프로필Jeong
    2025-05-191595897

    안녕하세요 존경하는 규원님 ㅠㅠ F-Lab에서 멘토로 뵙고 싶었는데 매칭이 되지 않아 아쉬움 가득했는데 이렇게 강의 내주셔서 감사드립니다! 이 강의도 물론 구매할거지만, 혹시 C#과 .NET에 대한 강의 계획이 있으실지 여쭤봅니다. 좋은 하루 되세요! 감사합니다!

    이규원
    이규원
    이규원
    2025-05-19416550

    .NET이 분명히 좋은 생태계이긴 합니다만 아쉽게도 아직은 강의 제작 계획이 없습니다. 🥲

채널톡 아이콘