JAVA(244)
-
2.1 JUNIT 테스트 고려사항 구현
글의 목적 2. JUNIT 사용하기 글에서 Profile 클래스의 matches 메서드에 대한 테스트 케이스 고려사항을 구현하는 것을 실습합니다. https://yonghwankim-dev.tistory.com/89 2. JUNIT 사용 본 글은 자바와 JUNIT을 활용한 실용주의 단위 테스트 도서의 내용을 복습하기 위해 작성된 글입니다. 글의 목적 실전에 가까운 코드를 분석 코드에 대한 경로를 커버하는 1~2개의 테스트 코드 구 yonghwankim-dev.tistory.com 위 글의 테스트 고려사항에서 몇몇개는 다른 테스트 케이스와 중복되는 사항이 존재합니다. Profile 클래스의 matches 메서드 테스트 케이스 고려사항 1. Criteria 인스턴스가 Criterion 객체를 포함하지 않을 ..
2021.08.11 -
2. JUNIT 사용
본 글은 자바와 JUNIT을 활용한 실용주의 단위 테스트 도서의 내용을 복습하기 위해 작성된 글입니다. 글의 목적 실전에 가까운 코드를 분석 코드에 대한 경로를 커버하는 1~2개의 테스트 코드 구현 및 실습 테스트 배치에 대한 준비-실행-단언(AAA, Arrange-Act-Assert) 구조 분석 테스트 메서드의 공통된 로직을 모을 수 있는 @Before 애노테이션 분석 및 실습 1. 테스트 대상 이해: Profile 클래스 iloveyouboss 애플리케이션의 일부에 대한 테스트를 작성합니다. 이 애플리케이션은 잠재적인 구인자에게 유망한 구직자를 매칭하고 데이트 웹 사이트가 그러하듯 반대 방향에 대한 서비스도 제공합니다. 구인자와 구직자는 둘 다 다수의 객관식 혹은 yes-no 질문에 대한 대답을 하는..
2021.08.11 -
1. 첫번째 JUnit 테스트 만들기
1. JUnit의 기본 : 첫 번째 테스트 통과 학생(Sutdnet) 클래스는 이름과 4과목의 점수를 담은 정수형 리스트를 가지고 있습니다. 그리고 StudentScoreCalculator 클래스는 각각의 학생 클래스를 추가하는 Student 타입의 리스트를 가지고 있습니다. 본 글의 목적은 StudentScoreCalculator 클래스에 각각의 학생들의 평균을 구하고 평균들의 평균을 구하는 메서드를 구현합니다. 그리고 이렇게 구현한 메서드가 올바르게 작동하는지 JUnit 테스트를 생성하여 확인해봅니다. step1 프로젝트 생성(iloveyouboss_01) step2 패키지 및 클래스 생성 practice 패키지 생성 Student 클래스 생성 StudentScoreCalculator 클래스 생성 s..
2021.08.10 -
10. 스프링 MVC 프레임워크 동작 방식
10.1 스프링 MVC 핵심 구성 요소 위의 그림에서 의 의미는 스프링 빈으로 등록해야 함을 의미한다. 그리고 노랑색 박스는 개발자가 직접 구현해야 하는 요소이다. 스프링 MVC 핵심 구성 요소 DispatcherServlet : HandlerMapping, HandlerAdapter, ViewResolver, View와 같은 구성 요소 중앙에 위치하여 모든 연결을 담당한다. HandlerMapping : 클라이언트의 요청 경로를 이용해서 이를 처리할 컨트롤러 빈 객체를 검색하고 처리할 컨트롤러를 DispatcherServlet에게 전달하는 역할을 수행한다. Controller : 웹 브라우저가 원하는 처리 요청을 수행한다. 컨트롤러의 종류는 다음과 같다. @Controller 애노테이션을 이용해서 구현..
2021.07.30 -
7. AOP 프로그래밍 #3 스프링 AOP 구현
본 글은 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 내용을 복습하기 위해 작성된 글입니다. 7.3 스프링 AOP 구현 스프링 AOP를 이용한 공통 기능 구현 방법 Aspect로 사용할 클래스에 @Aspect 애노테이션을 붙인다. @Pointcut 애노테이션으로 공통 기능을 적용할 Pointcut을 정의한다. 공통 기능을 구현한 메서드에 @Around 애노테이션을 적용한다. 3.1 @Aspect, @Pointcut, @Around를 이요한 AOP 구현 공통 기능을 제공하는 Aspect 구현 클래스를 만들고 자바 설정을 이용해서 Aspeect을 어디에 적용할지 설정하면 된다. Aspect는 @Aspect 애노테이션을 이용해서 구현한다. 프록시는 스프링 프레임워크가 알아서 만들어준다. 실행시간을 ..
2021.07.27 -
7. AOP 프로그래밍 #2-1 AOP
본 글은 초보 웹 개발자를 위한 스프링5 프로그래밍 입문 도서의 내용을 복습하기 위해서 작성된 글입니다. 7.2.1 AOP AOP는 Aspect Oriented Programming의 약자로, 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법이다. AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정 없이 공통 기능을 적용할 수 있게 만들어준다. AOP의 기본 개념 핵심 기능에 공통 기능을 삽입하는 것이다. 즉 핵심 기능의 코드를 수정하지 않으면서 공통 기능의 구현을 추가하는 것이 AOP이다. 핵심 기능에 공통 기능을 삽입하는 방법 컴파일 시점에 공통 기능을 삽입하는 방법 AOP 개발 도구가 소스 코드를 컴파일 하기 전에 공통 구현 ..
2021.07.27