아 다행이도 오늘은 복습 환경 구축이 위주임
예제는 사용자 정보(이름만)를 관리하는(일종의 주소록) 예제로 진행 예정
요구사항(1)
사용자 등록 가능
사용자 조회 가능
메이븐 프로젝트 생성 -> kr.kosta ,UserMgnt 로 생성
생성하니 테스트와 실 사용 소스가 분리되는 틀이 만들어져 있음
test/java 밑에 패키지를 만들고 그 밑에 클래스 하나를 만듬
클래스에안에 @test 메소드를 만들고
pom 파일에 junit 을 가져오도록 디펜던시를 걸어준다.
---------------------------------------
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8</version>
</dependency>
</dependencies>
</project>
---------------------------------------이렇게
-> 그러면 @test 를 끌어오면서 import만하면 사용이 가능해짐
그리고 다음과 같이 적어준다. 유저 를 만들고, 해당 유저의 아이디를 가져오도록 지시함
일단 팩키지 구성은 아래와 같고 이중 3개 팩키지, 4개 파일을 추가했다.
src/main/java
kr.kosta.user.domain
-User
kr.kosta.user.service
-UserService
-UserServiceImpl
src/test/java
kr.kosta.user.service
-UserServiceTest
이중 테스트에 추가한 유저 서비스 테스트
실제 구현부의 유저 서비스 클래스
유저 객체를 생성위한 유저 클래스
유저 서비스에 실 숫자 입력을 위한 가상 입력 클래스
이렇게 완성되었으나 실제 구현은 요구사항에 따른 메소드 선언 -> 메소드 선언에 따른 인터페이스 구현
-> 인터페이스에 들어갈 내용(객체 생성위한 클래스 생성) -> 테스트 구현구 구체화 후 실제 입력값을
받기위한 클래스 선언 -> 실제 값 입력이 되도록 리턴값 설정
순으로 에러 제거를 위한 구현간 구체화가 이루어졌다.
요구사항(2)
전체 등록된 사용자 수 조회
전체 등록된 사용자 목록 조회
사용자 등록 및 조회 기능을 추가(요구사항(1)의 기능 두가지를 합친 기능)
......
요구사항(2)의 1번을 구현
public void allUserCountTest(){
UserService userService = new UserServiceImpl();
int allUserCount = userService.allUserCount();
assertSame(0,allUserCount);
}
이러면 두가지 에러가 나는데 인터페이스에 allUserCount를 선언해주고, UserServiceImpl 에
빈 메소드를 추가해주면
아직 입력하지 않았을때 기대되는 값 0을 얻을 수 있게된다. - 테스트 pass
요구사항(2)의 2번도 마찬가지로 이클립스 컨트롤 + 1 신공으로 완성 가능
하지만 내용이 없는 상태
---->>> 7일차 진행예정
댓글 없음:
댓글 쓰기