본문 바로가기

개발/스프링28

[혼자 구현하는 웹서비스] 3. (2) JPA 테스트 코드 및 API 작성 1. Spring Data JPA 테스트 코드 작성하기 2. 등록/수정/조회 API 만들기 3. JPA Auditing으로 생성시간/수정시간 자동화하기 1. Spring Data JPA 테스트 코드 작성하기 앞에서 작성한 코드가 잘 작동되는지 테스트하기 위한 코드를 작성해 본다. test 디렉토리 아래에 domain.posts 패키지를 생성하고, 테스트 클라스는 PostsRepositoryTest라고 하자. 이 테스트에서는 다음과 같이 save, findAll 기능을 테스트한다. @After는 Junit에서 단위 테스트가 끝날 때마다 수행되는 메소드를 지정한다. 보통은 배포 전 전체 테스트를 수행할 때 테스트간 데이터 침범을 막기 위해 사용한다. 위 코드에서도 deleteAll()을 통해 남아 있는 데이.. 2021. 7. 9.
[혼자 구현하는 웹서비스] 3. (1) JPA와 데이터베이스 0. 개요 1. JPA 소개 2. 프로젝트에 Spring Data JPA 적용하기 0. 개요 웹 서비스와 데이터베이스는 뗄 수 없는 관계다. 관계형 데이터베이스 (RDBMS)와 객체지향 프로그래밍 (OOP)를 같이 사용할 수 있을까? 1. JPA 소개 웹 서비스를 개발하며 데이터베이스를 사용하는 방법은 크게 두 가지가 있다. 하나는 MyBatis와 같은 SQL 매퍼 사용하기, 또 하나는 ORM을 이용하여 객체를 매핑하기. MyBatis도 많이 사용되고 있는 서비스지만, 개발을 하는 시간보다 SQL을 다루는 시간이 더 많아지게 된다. JPA (Java Persistence API)라는 자바 표준 ORM (Objecxt Relational Mapping)을 이용하여, 객체를 매핑하는 방법이 존재한다. 최근 .. 2021. 7. 8.
[혼자 구현하는 웹서비스] 2. (2) 테스트 코드와 롬복 0. 롬복이란 1. 롬복 설치하기 2. Hello Controller 코드를 롬복으로 전환하기 0. 롬복이란 롬복 (Lombok)은 Java로 개발할 때 자주 사용하는 코드 Getter, Setter, 기본생성자, toString 등을 어노테이션으로 자동 생성해 준다. IntelliJ에서는 플러그인을 이용하여 쉽게 설치할 수 있다. 1. 롬복 설치하기 먼저 프로젝트에 롬복을 추가해 본다. build.gradle의 dependencies 아래에 다음의 코드를 추가하자. 저장하고 Gradle을 새로고침 하여 라이브러리 (또는 의존성이라고도 한다)를 내려받자. 라이브러리를 내려받은 후에는 IntelliJ에서 사용할 플러그인을 설치해야 한다. IntelliJ의 검색 단축키인 Ctrl (Cmd) + Shift +.. 2021. 6. 26.
[혼자 구현하는 웹서비스] 2. (1) 테스트 코드 0. 개요 1. 테스트 코드 소개, TDD와의 차이점 2. 테스트 코드 작성하기 0. 개요 많은 회사 채용 과정에 테스트 코드 작성 경험을 우대한다. 테스트 코드의 중요성. 1. 테스트 코드란? TDD (test-driven development)와 단위 테스트 (Unit test)는 분명하게 다른 것이다. TDD는 말 그대로, 테스트가 주도하는 개발 과정을 의미한다. 테스트 사이클은 다음과 같은 3단계 과정을 거친다. i. 항상 실패하는 테스트를 작성하고 (red), ii. 테스트가 통과하는 프로덕션 코드를 작성하고 (green), iii. 테스트가 통과하면 프로덕션 코드를 리팩토링한다 (refactor). 단위 테스트는 TDD의 첫 번째 단계인 '기능 단위의 테스트 코드를 작성' 하는 것을 의미한다... 2021. 6. 25.