inflearn logo
강의

講義

知識共有

SpringベースのREST APIの開発

선장님 테스트코드 질문있습니다

371

pyopyo

投稿した質問数 5

0

정확히 해당 강의와는 일치하지 않지만 강의를 보면서 테스트코드 문의드립니다

통합테스트를 진행할때 기존 들어가있어야 할 데이터를 기준으로 테스트가 필요할때가 있는데요.

예로 유저 로그인 테스트다 하면 유저 아이디를 알아야 테스트를 할 수 있고 매뉴별 접근권한 테스트를 한다해도 기존 들어있는 데이터가 있어야 로그인을 통해 세션/토큰을 가져와서 테스트를 할텐데요.

보통 이럴때는 테스트는 어떤식으로 해야하나요!? 개발디비를 바라보고 해야하는지 아니면 메모리h2 데이터베이스를 보고 해야하는지 궁금해서요..

메모리에 올리고 하자니 특정 기능테스트가 여러 테이블에 걸쳐서 가져오는 데이터가 필요할 시 이걸 어떤식으로 넣어놓고 해야하는건가 싶습니다..(로딩과 동시에 메모리에 데이터를 삽입하는쿼리를 넣어놔야하나 싶고요..)

이런 내용 아니어도 계정 수정 테스트다 이러면 이미 계정이 존재해야하는데 이 테스트 시에 매번 계정을 넣고 수정하고를 해야하는지.. 아니면 테스트 순서를 정하고 삽입 수정 삭제와 같은 순서로 동작하도록 테스트를 돌려야하는지(트랜잭션 롤백 안되게 처리 후)..

ㅜㅜ 계속 테스트 감을 못잡고 있어서 문의드립니다 먼저 감사합니다 ㅠㅠ

java spring rest-api

回答 4

1

whiteship

개발 DB에 들어있는 데이터는 계속 바뀌니까요. 아무래도 테스트는 특정 데이터를 예상하고 작성하는 경우가 있다보니까 테스트용 DB를 따로 쓰는 편입니다.

1

whiteship

테스트에 필요한 데이터를 넣는 방법은 다양하죠. 테스트용 DB를 따로 만드시고 개발용 DB에서 데이터를 덤프 받아서 테스트 DB에 넣어도 되고, 테스트 실행할 때 소스 코드로 직접 데이터를 만들어 넣어도 되고, 스프링 부트가 지원하는 data.sql을 만들어서 데이터용 리소스 디렉토리에 넣어놓고 사용해도 됩니다

스프링에서 @Transancional이 붙어이는 테스트는 자동으로 롤백됩니다.

0

pyopyo

친절한 답변 감사합니다 :) 좋은 하루되세요

0

pyopyo

아 빠른답변 감사합니다 보통 기선님은 테스트시에 개발기디비를 직접 활용하진 않으시고 테스트디비 (메모리든 별도의 개발기덤프뜬 데이터든..) 을 사용하시나요?

Spring 시큐리티 관련해서 WebSecurityConfigurationAdapter

0

73

1

junit5 사용하시는 분들

0

87

1

자바 빈 스펙을 준수하는지 체크하는 테스트

0

235

2

REST API 개발 중 비즈니스 로직 적용 부분의 JSON 에러

0

242

1

스프링 부트 3버전에서의 실습

0

190

1

java.lang.AssertionError: Status

0

530

2

spring doc 관련 파일 생성 관련 배포 관련 질문 드립니다.

0

286

1

섹션2 201응답받기 부분 테스트 404에러 질문입니다

0

739

1

강의 자료가 404입니다 확인 부탁 드려요!

0

476

1

연동 DB문의

0

358

1

이벤트 Repository강의 중 Event 클래스에 private Integer Id; 위치 질문

0

505

1

(Mac) postgressql 관련하여 port kill 해도 다시 살아나는 경우

0

380

0

maven으로 생성한 docs파일(index.html)에서의 not found 오류 질문

0

621

1

테스트 오류 질문드립니다.

0

512

1

docs 요청값이 반영이 안되네요... (해결)

-1

394

1

psql 적용 후 에러

0

818

2

mvn package 시 다음과 같은 에러가 나시면

0

763

2

Event에 Account manager를 추가했으면 문서화 필요

0

274

1

2년 훨씬 전 부터 Restlet-> Talend API 로 바뀌었습니다~

1

473

1

asciidoc 추가 스니펫 에러 해결법

0

400

1

_links 는 현재 fieldWithPath 를 해주지 않아도 됩니다.

0

423

3

깃랩 처음 사용자를 위한 index.adoc raw 보는 법

0

332

1

eclipse 쓰시는 분을 위한 maven-resources-plugin 팁

0

332

1

부트 + jupiter 인 경우 설정법

0

342

1