본문 바로가기

jpa3

Spring Jpa 테스트 H2, TestEntityManager Spring Jpa를 테스트할 떄 사용중(운영, 개발)인 DB를 사용하기 애매할 때가 있다. 이럴때 사용할 수 있는 방법 2가지를 소개하려고 한다. 1. H2(Default) 첫 번쨰로 In Memory Database인 H2 데이터베이스를 사용하는 방법이다. @DataJpaTest 어노테이션을 사용해서 테스트를 하면 테스트 때 참조할 DB의 디폴트가 H2 DB다. 그래서 H2 DB 의존성이 없으면 실행이 안 될 것이다(이떄는 @AutoConfigureTestDatabas(replace = Replace.NONE)을 붙혀서 사용 DB를 참조하게 하면 된다.) H2 DB사용 사용 방법은 https://dongjuppp.tistory.com/68?category=886936 이 글에서 이미 설명하였다. 이번.. 2022. 1. 20.
Spring 단위테스트 -2 Data 이번에는 단위테스트에서 Database에 접근하는 클래스를 테스트하는 방법을 보자. 우선 테스트를 알아보기전에 테스트할 코드를 만들어보자. org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 우선 내장 데이터베이스를 이용하기 위해 h2와 데이터베이스 프로그래밍을 위해 jpa를 가져오자. CREATE TABLE user ( id VARCHAR(45) NOT NULL, password VARCHAR(45) NULL, name VARCHAR(45) NULL, PRIMARY KEY (id)); 그다음은 간단하게 테이블을 하나 추가한다. import javax.persistence.Entity; import javax.persistenc.. 2021. 2. 28.
InMemory-H2 이번글은 스프링에서 H2-Database를 사용하는 설명할 것이다. H2-Database는 Mysql,MariaDb등과 다르게 따로 설치하지 않고 의존성만 추가해주면 사용할 수 있는 인메모리 데이터베이스이다. H2-Database를 사용해서 DB를 설치하기전에 미리 테스트를 해볼 수 있다. //Maven com.h2database h2 runtime //gradle testImplementation group: 'com.h2database', name: 'h2', version: '1.4.200' 우선 메이븐,그레이들 각각 사용하는것에 맞게 의존성을 추가해주자. 다음으로는 resources디렉토리 밑에 위처름 schema.sql을 만들어주자. ql파일은 각각 database에 들어갈 DDL문을 넣어놨다 .. 2021. 2. 23.