나의 브을로오그으

#3. [스프링 입문] - 간단한 앱 개발 본문

Spring

#3. [스프링 입문] - 간단한 앱 개발

__jhp_+ 2022. 7. 10. 10:22

[비즈니스 요구 사항 정리]

- 데이터: 회원ID, 이름

- 기능: 회원 등록, 조회

- 아직 데이터 저장소가 선정되지 않음(가상의 시나리오)

 

[일반적인 웹 애플리케이션 계층 구조]

 

 

[클래스 의존 관계]

(데이터 저장소를 정한것이 아니기 때문에 메모리 기반(정적 필드 형태)의 데이터 저장소 사용)

 

 

[회원 도메인과 리포지토리 만들기]

1. hellospring 패키지 밑에 domain 패키지를 추가하고 Member 클래스를 생성

[Member]

 

2. hellospring 패키지 밑에 repository 패키지를 추가하고 MemberRepsository 인터페이스와 MemberRepository 구현체인 MemoryMemberRepository 클래스를 생성 

[MemberRepository]

[MemoryMemberRepository]

테스트 코드를 위해 해당 메소드를 MemoryMemberRepository에 추가

 

[회원 서비스 테스트 케이스 작성]

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

 

[TestCode]

(참고로 전체 테스트 진행 시 테스트 순서는 보장이 되지 않는다. 따라서 @AfterEach 어노테이션이 적용된 메소드를 추가하여 각 테스트케이스가 끝날때마다 store를 clear시켜준다.)

 

 

[회원 서비스 개발]

 

[회원 서비스 테스트 케이스 작성]

(모든 테스트케이스는 독립적이어야 한다.)