inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

인프런 워밍업 스터디 클럽 2기 백엔드(클린코드&테스트코드) 발자국 - 3주차

zooxop
0

인프런 워밍업 클럽 2기, 백엔드(클린코드&테스트코드) 과정에 참여하고 있습니다.

이번 3주차에는 테스트에 대한 이론적인 내용과 TDD, 실용적인 테스트 방법등을 학습했습니다.

강의 링크: Readable Code: 읽기 좋은 코드를 작성하는 사고법

 


[학습 요약]

 

테스트의 필요성

왜 작성해야 할까?

테스트 코드를 작성하지 않는다면..

테스트 코드가 병목이 된다면..

올바른 테스트 코드는,

테스트는 귀찮다. 귀찮지만, 해야한다!

 

단위 테스트

JUnit5

AssertJ

테스트 케이스 세분화하기

항상 질문하기: 암묵적이거나, 아직 드러나지 않은 요구사항이 있는가?

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

테스트하기 어려운 영역 코드 예시

테스트하기 쉬운 영역 코드 예시

 

TDD

프로덕션 코드보다 테스트 코드를 먼저 작성하여 테스트가 구현 과정을 주도하도록 하는 방법론

피드백

TDD가 제공하는 핵심 가치

기능 구현 후 테스트 작성 vs. 테스트 작성 후 기능 구현

TDD: 관점의 변화

TDD는 클라이언트 관점에서 피드백을 주는 Test Driven 도구이다.

 

테스트는 "문서"다

테스트는 "문서"다. 왜?

우리는 항상 팀으로 일한다

 

DisplayName을 섬세하게

명사의 나열보다 문장으로 작성하자

도메인 용어를 한층 추상화된 내용을 담기

BDD, Behavior Driven Development

Given / When / Then

 

Spring & JPA 기반 테스트

 

레이어드 아키텍처와 테스트

Layered Architecture관심사의 분리를 위해 수행한다!

Spring & JPA 기반 애플리케이션에서 일반적으로 사용하는 레이어 구조

통합 테스트

Spring / JPA 훑어보기

스프링은 Library? Framework?

Spring

ORM (Object-Relational Mapping)

JPA (Java Persistence API)

 


[후기]

본격적으로 테스트 코드에 대한 학습을 시작한 주간이었다. 개발자로 일을 한지 꽤 오래되었지만 테스트를 작성해본 적이 많지 않아서 테스트를 작성하는것에 언제나 애를 먹었었는데, 기초적이고 이론적인 내용부터 자세히 공부하고 예제로 따라해보니 지금까지 잘 모르고 지금까지 완벽하게 이해하지 못하고 넘어갔었던 내용들을 어느정도 해소할 수 있었던 것 같아 좋았다.

백엔드 워밍업클럽 백엔드 테스트 클린코드

답변 0