TDD(Test-Drive-Development)

Hamburgerkin9·2023년 2월 23일
0

TDD란?

  • 테스트 주도 개발이란 뜻이다.
  • 기능보다 테스트를 먼저 만드는 것.

TDD개발주기

  1. Red 단계에서는 실패하는 테스트 코드를 먼저 작성한다.

  2. Green 단계에서는 테스트 코드를 성공시키기 위한 실제 코드를 작성한다.

    -최대한 빠르게 작업

    -작업시간이 10분이 넘지 말아야 함

  1. Blue 단계에서는 중복 코드 제거, 일반화 등의 리팩토링을 수행한다.

  2. 다시 1단계 부터 반복

적용 예시

[프로그래머스 120829문제] https://school.programmers.co.kr/learn/courses/30/lessons/120829

문제 요약

예각은 1을 출력, 직각은 2를 출력, 둔각은 3을 출력 평각은 4를 출력

테스트 케이스 생성

클래스 우측 클릭 후 GO TO에 TEST를 통해 테스트 케이스 생성이 가능하다.

클래스 이름과 테스트 하고자하는 메소드를 선택 할 수 있음.

TDD1 단계
우선 실패하는 테스트를 작성해야함

main 클래스에 기능을 구현하지 않았음으로 당연히 실패하는 테스트이다.

TDD2 단계
빠르게 테스트를 통과하기 위한 실제 코드를 작성

실제 코드 solution return값을 1로 작성, 오직 테스트를 통과하기 위한 코드이다.

TDD3 단계
리펙토링, 간단한 문제라 리펙토링을 필요로 하지 않음.


이 과정을 반복해준다.

TDD1 단계
우선 실패하는 테스트를 작성해야함

90을 넣었을 때 , 2가 나와야 하지만 실제 코드에는 기능이 구현되 있지 않음으로 실패하는 테스트이다.

TDD2 단계
빠르게 테스트를 통과하기 위한 실제 코드를 작성

실제 코드 solution에 n값이 90이면 return값 2로 작성, 오직 테스트를 통과하기 위한 코드이다.

TDD3 단계
리펙토링, 간단한 문제라 리펙토링을 필요로 하지 않음.

이 과정을 반복하여 원하는 테스트 주도 개발이 가능하다.

profile
개발자

0개의 댓글