• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

이전 임베디드 데이터베이스와 mem:testdb

22.10.19 18:30 작성 조회수 349

0

지금 강의는 mem:test:db 이건 스프링부트가 만들어주는 스키마이고, (메모리로동작?)

이전 강의는 testcase 라는 스키마를 저희가 직접만들었고

이 차이 인건가요 ?!?

 

===========================

둘중 어느방식으로 테스트코드를 더 많이 사용하나요 ?

 

눈으로 직접 테이블을 보고싶다면 저희가 먼저 이용한 testcase 방식을 사용하면 되는건가요 ?

답변 1

답변을 작성해보세요.

1

OMG님의 프로필

OMG

2022.10.19

안녕하세요. H K님, 공식 서포터즈 OMG입니다.
.

지금 강의는 mem:test:db 이건 스프링부트가 만들어주는 스키마이고, (메모리로동작?)

이전 강의는 testcase 라는 스키마를 저희가 직접만들었고

이 차이 인건가요 ?!?

=>

전자는 스프링의 실행주기와 동일하게 메모리에서 동작하고,

후자는 스키마를 직접 생성한다는 차이가 맞습니다.

.

둘중 어느방식으로 테스트코드를 더 많이 사용하나요 ?

눈으로 직접 테이블을 보고싶다면 저희가 먼저 이용한 testcase 방식을 사용하면 되는건가요 ?

테스트 방식이 아닌, 실제 웹 애플리케이션을 개발한다고 했을 때 메모리 방식에서도 웹 콘솔 접근이 가능합니다.

가령 localhost:8080/h2-console 로 접속이 가능한데요. 아래 설정을 해주면 됩니다.

image

spring.h2.console.path=/h2-console
spring.h2.console.enabled=true
spring.datasource.url=jdbc:h2:mem:testdb

 

그리고, 아래의 테스트 피라미드를 한번 쯤 보셨을 것 같은데요,

테스트에서 단위 테스트 작성 비중이 상당히 높습니다.

실제 DB와 연결하여 실행하지 않고 빠르게 확인 가능하며 많이 작성해야 하고 실행해야하는 단위테스트 특성상

테스트의 경우 메모리에서 실행하는 빈도가 높을 것 같네요 ^^

image

.
감사합니다.

H K님의 프로필

H K

질문자

2022.10.20

친절한 답변 감사합니다