글또

Atdd [인수 테스트 -1 ]피드백

Gisungcu 2022. 1. 22. 15:25

이번에는 step1에 대한 피드백 부분이다.

 

일단 이번 과정을 진행하면서 

BDD의 given, when, then 구절을 코드로 표현한 RestAssured 라이브러리를 새롭게 알게 되었다.

주석 설명에 맞게 코드도 단위를 나눈다

반환 값으로 ExtractableResponse <Response>가 반환되면 아래와 같이 사용 가능하다.

jsonPath를 통해 쉽게 내용들을 비교할 수 있다.

 

test 기본 세팅으로 웹서버도 띄운다. 랜덤 포트를 사용해 병렬로 test가 돌아갈 시 충돌 방지, 이미 떠 있는 프로젝트와의 충돌을 방지한다.

db를 지우는 부분이다. 단순히 @transactional을 사용하면 안 되나?라고 생각했는데 웹서버까지 띄울 경우 먹지 않는다고 한다. 

 

 

Transactions in spring boot testing not rolled back

I have an integrations test class for my UserController. The contents of the following class are: // imports... @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @RunWith(

stackoverflow.com

위는 디비를 엔티티 이름을 따서 clean 하는 작업을 한다.

피드백 부분

엔티티 update시 request를 받아서 넣어주고 내부에서 사용되었다.

기존에 알고 있는 정보는 엔티티는 dto를 알면 안 된다는 단편적인 것이었는데 이유를 알게 되었다.

또한 생성자 단위에서만 dto를 사용하지 말아야 한다고 생각했었는데 메서드 단위까지 생각해야 한다.

 

 

다른 분들의 피드백을 살펴보자

팩토리 메서드가 아닌 컨버터를 구현하신 분이 있었는데, DTO를 만들기 위한 엔티티가 하나 이상이 되거나 요구사항에 들어간다 -> 쉽게 만날 수 있는 구조인데 컨버터라는 계층을 생각해 보지 않았다. 이번에 알아보고 나중에 적용할 수 있을 듯하다.

 

 

 

밑의 분의 코드는 리팩터링이 잘되었다고 생각함

 

(Step2) 역과 노선 중복 금지 기능 추가 및 인수 테스트 리팩터링 by cwJohnPark · Pull Request #181 · next-s

안녕하세요! 리뷰어님 피드백을 통해 RestAssured 중복을 제거하였습니다. 한글 메소드명을 처음 써보면서 불편함을 느꼈지만, ATDD가 의사소통에 의의를 둔다면 팀 구성원 누구나 직관적으로 이해

github.com

 

네이버 코드리뷰

 

지금까지 받아본 코드 리뷰를 정리해본다(1).

지금까지 받아본 코드리뷰를 정리해본다.흔히 주니어 개발자가 성장할 수 있는 가장 좋은 방법은 코드리뷰를 충실히 받는 것이라고 이야기한다. 성장 안하고 가만히 있어도 잘 먹고 잘 살 수 있

tech.wheejuni.com