워밍업 클럽 3기 BE 클린코드&테스트 - 3주차 발자국

워밍업 클럽 3기 BE 클린코드&테스트 - 3주차 발자국

📖 강의 요약

통합 테스트

  • 여러 모듈이 협력하는 기능을 통합적으로 검증하는 테스트

  • 일반적으로 작은 범위의 단위 테스트만으로는 기능 전체의 신뢰성을 보장 할 수 없다,

  • 풍부한 단위테스트 & 큰 기능 단위를 검증하는 통합 테스트

 

ORM

  • 객체 지향 패러다임과 관계형 DB 패러다임의 불일치

  • ORM을 사용함으로써 개발자는 단순 작업을 줄이고, 비즈니스 로직에 집중할 수 있다.

     

 

Persistence Layer

  • Data Access의 역할

  • 비즈니스 가공 로직이 포함 되어서는 안된다. Data에 대한 CRUD에만 집중한 레이어

 

Business Layer

  • 비즈니스 로직을 구현하는 역할

  • Persistence Layer와의 상호 작용 (Data를 읽고 쓰는 행위)을 통해 비즈니스 로직을 전개 시킨다.

  • 트랜잭션을 보장해야 한다.

 

Presentation Layer

  • 외부 세게의 요청을 가장 먼저 받는 계층

  • 파라미터에 대한 최소한의 검증

 

!! CQRS (Command and Query Responsibility Segregation)

데이터 저장소로 부터 읽기와 업데이트 작업을 분리하는 패턴

= Command와 Query 를 분리 하기


💡 미션

 

[Readable Code] 강의의 두 프로젝트(지뢰찾기, 스터디카페) 중 하나를 골라, 단위 테스트를 작성해 봅시다.

미션 제출 url : https://github.com/2unmini/readable-code/tree/mission/day11

 최대한 테스트 코드를 작성할때 현재 코드를 건드리지 않고 짤려고 했다 하지만 final Scanner 부분에서 문제가 발생했다 . 현재 코드는 각각의 테스트는돌아가지만 전체 테스트를 할때는 통과하지 못하지만 Scanner를 상수로 두지 않고 기존 코드를 변경한다면 테스트 코드도 성공적으로 잘 돌아갈 것이다.

 

💬 회고

 

👍 테스트에 관한 옛날에 대한 나의 생각

  • 나에게 테스트는 란 1+1 =2 처럼 이미 결과가 도출 되어있는 상황인데 테스트 코드를 작성 할 필요가 있을 까? 라는 의문 투성이 밖에 없었다. 정답은 아닐지는 모르지만 강의와 스터디를 통해 왜 테스트 코드를 작성해야 하는가를 어느 정도 이해를 하게 되는 것 같았다. 나만 1+1 =2 라고는 생각해도 이걸 뒤 받침해 줄 근거 및 신뢰성을 높이려면 테스트 코드가 필요해야 겠다.

📎출처

Practical Testing: 실용적인 테스트 가이

https://www.inflearn.com/course/practical-testing-%EC%8B%A4%EC%9A%A9%EC%A0%81%EC%9D%B8-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EA%B0%80%EC%9D%B4%EB%93%9C/dashboard

댓글을 작성해보세요.


채널톡 아이콘