일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Component
- spring
- layout #thymeleaf #화면분할
- 1
- DispatcherServlet
- git #gitlab #github
- Bean
- 스프링
- autowired
- zepettoworld.com
- 스프링 부트
- 오토와이어드
- Today
- Total
기록과 정리
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 02 본문
이 글은 이동욱(jojoldu)님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스를 참고하였습니다.
m.yes24.com/Goods/Detail/83849117
스프링 부트에서 테스트 코드를 작성하자
TDD , 테스트 주도 개발방법이다. 필자가 다니는 회사에도 TDD를 지향하지만 현실적인 시간에 의해 제대로 구현 또는 실현이 힘들때가 많다. 하지만 테스트 코드를 먼저 작성하고 실제 구현하는 방식은 따라가고 있다.
테스트 코드의 경우 , 단위 테스트 코드를 구현하는 것을 말하는데 보통 java 프로젝트의 경우 , Junit4 or Junit5를 통해 테스트 코드를 구현한다. ( 현업에서는 JUnit4가 확연히 많이 보인다. 책에서도 4로 실습 )
Spring Boot Application이 실행되기 위하여 Application 이라는 클래스와 메서드를 생성하자.
@SpringBootApplication : 해당 어노테이션은 스프링 부트의 자동설정 , 컴포넌트 스캔등을 사용할 수 있다. 따라서 해당 어노테이션을 사용하기 위해서는 프로젝트 위치상 컴포넌트가 포함된 클래스들의 최상단에 위치해야한다.
@RestController : @ResponseBody + @Controller , 컨트롤러의 반환 값을 json 타입을 반환가능한 컨트롤러이다. REST API 를 만드는 시작점
@GetMapping : Http Method 가 GET 형태로 받을 수 있도록한 RequestMapping의 일종이다.
( = @RequestMapping(method = RequestMethod.GET )
@RunWith(SpringRunner.class) : 스프링 부트의 테스트를 연결시켜주는 역할 Junit4의 특징
@WebMvcTest : Web에 관련된 테스트를 위한 어노테이션 , 주로 컨트롤러 테스트에 사용
@Autowired : bean 주입을 시켜준다.
hello 라는 get mapping을 mock 객체를 통해 status가 200상태인지 반환값이 hello 인지 확인하는 테스트 코드이다.
+Lombok
롬복을 dependency 받아주고 (gradle 및 maven 환경에 맞게 ) plugin을 설치해주자 .
인텔리제이의 경우 , 재시작을 통해 플러그인 적용이 가능하므로 restart 해줄 것
@Getter 모든 필드에 Getter를 추가해준다.
@RequiredArgsConstructor 선언된 모든 final 필드가 포함된 생성자를 생성해준다.
아래는 해당 dto의 테스트 코드 이다.
assertThat : assertJ 의 테스트 검증 라이브러리
만약 테스트가 실패한다면 gradle이 5인지 확인 해야한다. 해당 url 을 통해 문제를 해결했다. ( github.com/jojoldu/freelec-springboot2-webservice/issues/2 )
'IT > 스프링 부트와 AWS로 혼자 구현하는 웹 서비스' 카테고리의 다른 글
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 06 (0) | 2021.04.01 |
---|---|
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 05 (0) | 2021.03.30 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 04 (0) | 2021.03.16 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 03 (0) | 2021.03.09 |
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 01 (0) | 2021.03.03 |