TDD 1주차

TDD이전의 개발

  1. 만들 기능에 대한 설계 → 어떤 클래스, 인터페이스를 생성할 것인가
  2. 과정 1을 하며 구현애 대해서 고민, 기능 구현
  3. 구현한 기능에 대한 테스트, 오류시 작성한 코드 디버깅하며 원인 찾음

→ 디버깅 하는데 시간이 오래 걸림, 테스트 완료되지 않은 코드가 배포될 수도, 테스트 하는데도 시간 오래걸림

TDD란?

간단한 tdd예시


import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertEquals; 06

public class CalculatorTest {
	@Test
	void plus() {
		int result = Calculator plus(1, 2);
	}
}

→ 아직 구현이 되지 않은 코드에 대한 검증하는 테스트를 먼저 작성한다.

검증을 위한 테스트 코드를 작성하면서 다음과 같은 생각을 할 수 있음