본문 바로가기
반응형

TDD3

과연 TDD를 제대로 알고 있는 걸까? 면접을 보고 나서 제가 사용한다고 말하고 다닌 TDD는 TDD가 아니라는 걸 알게 됐습니다. 구현한 메서드가 어떻게 실행되는지만 확인하는 테스트 메서드일뿐이었습니다. 강의를 듣고 수준이 올라오면 책을 통해 학습하는 게 좋을 것이란 조언을 듣고, 패스트 캠퍼스에서 'TheRED:백발의개발자를꿈꾸며:코드리뷰,레거시와 TDDby백명석,최범균' 강좌를 수강 후 TDD에 대해 공부하였고 해당 내용을 정리해 보고자 합니다. TDD란? 테스트 주도 개발(Test Driven Development)는 만들고자 하는 기능의 내용을 담고 있으면서 만들어진 코드를 검증도 해줄 수 있도록 테스트 코드를 먼저 만들고, 테스트를 성공하게 해주는 코드를 작성하는 방식의 개발 방법입니다. 테스트 코드 구조 기능과 상황 주어진 상황에.. 2022. 3. 27.
Service, Controller 테스트 Junit으로 TDD를 실천하면서 어떻게 코드를 테스트 해야하는지 감이 잡혀온다. 알게 된 점은 아래와 같다. 1. 테스트 코드 작성법 2. 고민되는 부분 3. MockMvc의 사용법 4. Assert 사용법 1. 테스트 코드 작성법 처음에 접근할 때는 로컬 디비에 있는 데이터를 테스트하겠다는 의도로 접근했다. 하지만 디비에 있는 값을 CRUD하는 서비스의 테스트 코드를 작성했을 때, 값 검증을 위해 하드코딩된 값을 넣어야 했는데 이 때, 어떤 데이터가 나올 지 몰라 예상 데이터를 하드코딩할 수 없었다. 테스트 코드 작성 시에는 테스트 하려는 로직을 위해 디비에 데이터를 셋팅해 주어야 한다. 이 것은 2가지 방법이 있는데, @Before로 지정된 메소드 안에 구현하는 방법과 @Test 메소드의 로직 상단.. 2018. 8. 5.
TDD(Test Driven Development) TDD는 Test Driven Development의 약자로써, 테스트 주도 개발을 의미이며 XP(eXtreme Programming)라는 애자일 기반의 개발 방법론이다. 전통적인 개발 프로세스의 경우 설계-> 코드 작성-> 테스트의 순서를 가진다. 하지만 TDD의 경우 테스트가 핵심이다. 전통적인 개발 프로세스와는 달리 설계 -> 테스트 -> 코드 작성의 순으로 진행이 되며 테스트 코드는 최소한의 코드만을 작성하여 진행하면서 고도화를 시킨다. 전통적인 개발 프로세스의 경우는 아래와 같다. 개발 절차대로 개발을 진행하면 단점은 아래와 같다. 1. 고객이 개발자에게 요구사항을 전달할 때 추상적인 요구사항이 포함되면 개발하는 사람 입장에서는 잘못 이해할 수 있고, 그 결과 산출물이 고객의 요구사항과 달라질 .. 2018. 1. 23.
반응형