이 강의를 통해 실무에서 개발하는 방식 그대로, 깔끔하고 명료한 테스트 코드를 작성할 수 있게 됩니다. 테스트 코드가 왜 필요한지, 좋은 테스트 코드란 무엇인지 궁금하신 모든 분을 위한 강의입니다.
이런 걸
배워요!
프로덕션 코드의 품질을 보장하는 탄탄한 테스트 코드 작성법
스프링 & JPA 기반 프로젝트에서의 테스트 코드 작성법
테스트 프레임워크 - JUnit5
Mock 프레임워크 - Mockito
테스트 코드를 통한 문서 자동화 도구 - Spring REST Docs
실무에 맞는 올바른 테스트 코드
그 첫걸음이 되어드릴게요!
그럼요! 테스트 코드 없이는 내가 만든 애플리케이션의 품질을 일정 수준 이상으로 보장하기가 힘듭니다.
새로운 기능을 추가하거나 기존 기능을 수정할 때마다 매번 사람이 직접 하나하나 테스트를 한다면 얼마나 많은 시간과 비용이 소모될까요?
자동화된 테스트 코드를 통해 수시로, 원할 때마다 내가 만든 코드를 검증할 수 있다면 보다 탄탄한 애플리케이션을 만들 수 있습니다.
내가 작성한 코드가 정상적으로 동작한다는 것을 테스트 코드가 보장해주기 때문에, 리팩토링할 때 얻는 자신감은 덤이에요!
테스트 코드의 중요성을 알아도, 읽기 어렵거나 잘못 작성한 테스트 코드는 자칫하면 또다른 고민거리가 될 수 있습니다. 무엇을 테스트하고 있는지 알기 어렵거나, 복잡해서 유지보수하기 어려운 형태라면 시간이 지날수록 테스트 코드에 손이 가지 않게 될 거예요.
이 강의에서는 프로덕션 코드의 변화에 맞추어 같이 발전해나갈 수 있는, 깔끔하고 명료한 테스트 코드 작성법을 알려드립니다.
자바 진영의 테스트 프레임워크인 JUnit5와 Mock 테스트 프레임워크인 Mockito에 대해서 다룹니다.
어떤 것을 검증해야 하는지, 가짜 객체인 Mock은 어떤 상황에 사용하면 좋을지를 케이스별로 상세한 예시를 들어 이야기합니다.
레이어드 아키텍처 기반의 API 서버를 구축해보면서, 레이어별 테스트 코드를 어떻게 작성하면 좋을지를 이야기합니다.
기술 자체에 대한 내용도 소개하지만, 어떤 언어, 어떤 기술을 사용하더라도 테스트를 깔끔하게 작성할 수 있는 기본기를 다룹니다.
우아한테크코스, 우아한테크캠프pro 리뷰어를 하며 받았던 여러 가지 질문과 관련 답변을 강의에 녹였습니다.
강의를 통해 자연스럽게 실제 실무에서 다루고 고민하는 내용들을 접할 수 있습니다.
단순히 테스트와 관련한 내용만 다루고 넘어가는 것이 아니라, 백엔드 개발자로서 조금 더 성장할 수 있는 발판을 마련했습니다.
한 섹션이 끝날 때마다 강의 중에 다루게 되는 관련 핵심 키워드, 심화학습을 위한 키워드를 제시하여 개발 지식에 대한 지평을 넓힐 수 있습니다.
주제별 핵심 포인트와 이해를 돕기 위한 여러 그림을 제시하고, 개념 설명 이후에는 예시 프로젝트를 통한 코딩을 진행합니다.
처음부터 끝까지 코드를 직접 따라 작성하면서 이해도를 높일 수 있도록 구성하였습니다.
Q. 스프링과 JPA를 아직 잘 모르는데 수강할 수 있나요?
필요한 내용은 간단하게 설명해 드리고 있지만, 스프링과 JPA에 대한 기본적인 이해는 필요합니다.
그렇다고 크게 복잡한 내용을 다루고 있지는 않아서, 해당 기술로 API를 한두 번 만들어보신 정도라면 충분합니다.
모르는 내용이 나왔을 때 같이 학습해 나가는 방식도 좋을 것 같네요 :)
Q. 실습 환경이 궁금해요!
실무에서 개발하는 것과 최대한 동일하게 보여드리기 위해 기본적으로 IntelliJ Ultimate 라이센스를 사용합니다.
macOS를 사용하고 있는데, 다른 운영체제를 사용하시는 분들이 참고하실 수 있도록 IntelliJ 단축키 플러그인을 적용했어요.
스프링 부트(Spring Boot)는 2.7.7 버전을 사용하는데, 그 이상의 버전으로 수강하셔도 크게 무리는 없을 거예요. 자세한 내용은 공개된 강의인 [샘플 프로젝트 소개 & 개발 환경 안내] 수업을 참고해 주세요. :)
Q. 순서 상관 없이 원하는 섹션을 먼저 수강해도 될까요?
이 강의는 하나의 큰 흐름 안에서 점차 발전해가는 프로덕션 코드와 테스트 코드를 보여드리고 있기 때문에, 앞 섹션부터 순차적으로 학습하시는 것을 추천합니다. :)
학습 대상은
누구일까요?
테스트 코드가 왜 필요한지 궁금한 분들
스프링, JPA는 학습했지만 테스트 코드를 어떻게 작성해야 할지 모르겠는 분들
깔끔하고 명확한 테스트 코드를 작성하고 싶은 모든 분들
선수 지식,
필요할까요?
스프링과 JPA 기반으로 기본적인 API 개발을 한번이라도 해보신 분들!
안녕하세요 ☺️
몰입을 즐기는 개발자, 박우빈입니다.
(현) 캐치테이블(와드) 소프트웨어 엔지니어
(전) 우아한형제들 소프트웨어 엔지니어
우아한테크코스 3기, 4기 리뷰어 / 우아한테크캠프pro 1기 리뷰어
전체
48개 ∙ (12시간 27분)
가 제공되는 강의입니다.
강의 소개
03:19
어떻게 학습하면 좋을까?
04:28
테스트는 왜 필요할까?
14:37
프로젝트 세팅
04:45
수동테스트 VS. 자동화된 테스트
17:35
JUnit5로 테스트하기
14:48
테스트 케이스 세분화하기
09:46
테스트하기 어려운 영역을 분리하기
16:51
키워드 정리
02:25