2021.10.10 기록장
ToDo
- 스프링 시큐리티
- jacoco 사용
- 통합, 단위 테스트
- 회고
Done
- jacoco 사용
- 통합, 단위 테스트
Weekly goal
- 책 읽기
- 영어 레퍼런스 읽기
test시 매번 db를 create-drop 하는 것이 옳은가? (local-db, in-memory db)
매번 rollback을 시킨다?(운영 test db)
통합 test시 어노테이션 설정 법
빈들을 전부 올리려면 @SpringBootTest를 사용. 추가 설정으로 classes에 class를 추가하면 해당 클래스만 빈으로 등록이 된다.
@WebMvcTest는 controller관련 빈만 잡아서 빈으로 등록한다. service나 repository는 생성 안 함
@SpringBootTest와 @WebMvcTest는 같이 사용할 수 없음.
@SpringBootTest의 추가 기능으로 서블릿 컨테이너 생성 전략을 변경할 수 있다. 기본은 WebEnvironment.MOCK인데
WebEnvironment.MOCK으로 설정한 객체들을 의존성 주입받으려면 @AutoCOnfigureMockMvc와 함께 써야 한다.
https://meetup.toast.com/posts/124
Spring Boot Test : NHN Cloud Meetup
Spring Boot Test
meetup.toast.com
https://elevatingcodingclub.tistory.com/61
[SpringBoot] Test(2) MockMvc를 이용해서 테스트하기(@WebMvcTest, @AutoConfigureMockMvc)
Mock - Mock이라는 단어를 사전에서 찾아보면 '테스트를 위해 만든 모형'을 의미한다. - 테스트를 위해 실제 객체와 비슷한 모의 객체를 만드는 것을 모킹(Mocking)이라고 하며, 모킹한 객체를 메모리
elevatingcodingclub.tistory.com
https://siyoon210.tistory.com/145
스프링 부트에서 컨트롤러 테스트하기
스프링 부트(Spring Boot)에서 컨트롤러(Controller)를 테스트 하는 방법에 대해서 기록해보겠습니다. 컨트롤러 테스트를 쉽게 하기 위해서 요청을 수행하고 응답을 만들어내는 Servlet API 모조(mock)객체
siyoon210.tistory.com
가끔 @AutoConfigureMockMvc와 MockMvcBuilders.webAppContextSetup를 통한 객체 만드는 것을 동시에 사용하는 코드를 볼 수 있는데 이는 옳지 못하다. 둘 중 하나만 사용하는 것이 맞다.
https://galid1.tistory.com/735
Spring Boot - 스프링 부트 통합테스트 방법과 팁(Spring boot Integration Test)
Spring Boot 테스트 이번 포스팅에서는 Spring Boot에서 통합테스트하는 방법에 대해서 알아보려고 합니다. https://medium.com/@ssowonny/%EC%84%A4%EB%A7%88-%EC%95%84%EC%A7%81%EB%8F%84-%ED%85%8C%EC%8A..
galid1.tistory.com
jacoco 설정
코드 커버리지를 확인할 수 있다.
코드 커버리지란 소프트웨어의 test가 얼마나 충족했는지 지표 중 하나,
조건에 따란 if문, 라인에 따라 검사를 할 수 있다.
counter 조건에 따라 나뉘는데 자주 쓰이는 Branche는 분기문의 실행 여부이고, LINE은 해당 라인의 실행 여부이다.
붉은색, 노란색, 녹색으로 구분된다.
https://www.eclemma.org/jacoco/trunk/doc/counters.html
JaCoCo - Coverage Counter
Coverage Counters JaCoCo uses a set of different counters to calculate coverage metrics. All these counters are derived from information contained in Java class files which basically are Java byte code instructions and debug information optionally embedded
www.eclemma.org
https://techblog.woowahan.com/2661/
Gradle 프로젝트에 JaCoCo 설정하기 | 우아한형제들 기술블로그
{{item.name}} 안녕하세요. 상품시스템팀에서 서버 개발(..새발)을 하고 있는 연철입니다. 프로젝트 세팅 중에 찾아보고 삽질했던 내용들이 도움이 될까 하여 남깁니다. JaCoCo는 Java 코드의 커버리지
techblog.woowahan.com
코드 분석 도구 적용기 - 1편, 코드 커버리지(Code Coverage)가 뭔가요?
이 글은 우아한테크코스에서 진행한 프로젝트인 직고래의 기술 블로그에 함께 게시된 글입니다. 안녕하세요. 우아한테크코스 2기, 셀러리 컴퍼니에서 직고래를 개발하고 있는 스티치(이준영)입
velog.io
디펜던시와 플러그인의 차이는
플러그인은 빌드 시에 필요한 것
디펜던시는 컴파일, 런타임 시에 필요한 것
https://darkstart.tistory.com/169
[Spring Framework] maven pom.xml에서 dependency와 plugin 차이점은?
스프링 프레임워크를 공부하다가 maven pom.xml에서 쓰이는 와 의 차이가 무엇인지 궁금해서 찾아봤습니다. org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-starter-test te..
darkstart.tistory.com