# 회원 리포지토리 테스트 케이스 작성
- 개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행한다. 
- 이러한 방법은 준비하고 실행하는데 오래 걸리고, 반복 실행하기 어렵고 여러 테스트를 한번에 실행하기 어렵다는 단점이 있다. 
- 자바는 JUnit이라는 프레임워크로 테스트를 실행해서 이러한 문제를 해결한다.

---

## 테스트 클래스 명명법 관례
- `테스트하고자 하는 클래스의 이름` + `Test`로 짓는다.

---

## 테스트가 실패한다면?
- 실무에서는 빌드 툴에서 빌드할 때 테스트가 통과하지 않으면 다음 단계로 못 넘어가게 막아버린다.

---

## 테스트는 순서가 보장이 안된다
- 모든 테스트는 순서에 관계없이 메서드별로 각자 동작하게끔 만들어야 한다.
- 순서의 의존적으로 설계하면 절대 안된다.

---

## 테스트가 끝날 때마다 데이터를 클리어 해줘야 한다.
- `@AfterEach` 어노테이션을 붙여서 메서드를 만들면 테스트 하나가 끝날 때마다 동작하는 메서드를 정의할 수 있다.

---

## TDD(Test Driven Development)
- 테스트를 먼저 만들고 구현 클래스를 만들어서 테스트를 실행하는 방식으로 개발하는 방법을 말한다.

---