본문 바로가기 메뉴 바로가기

Practical Accumulation

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

Practical Accumulation

검색하기 폼
  • 분류 전체보기 (423)
    • 광고 (0)
    • 업무 폴더 (0)
    • Demos (40)
      • 민원신청 SPA (0)
      • Email Client (14)
      • Shopping mall (9)
      • Football Club (12)
    • Languages (25)
    • Spring (185)
      • Hibernate (27)
      • Spring Basic (45)
      • Spring Security (15)
      • Spring AOP (12)
      • Spring REST (23)
      • Spring Advanced (18)
      • Spring Boot (26)
      • Spring Test (16)
      • Microservice (3)
    • Client Technologies (61)
      • Angular (30)
      • React (19)
      • Bootstrap (9)
      • Thymeleaf (3)
    • Side Technologies (46)
    • Basic (13)
      • Algorithms (10)
      • Data Structure (2)
    • Embedded Systems (2)
    • IT 관련 유용한 것들 (4)
    • 기록 (43)
  • 방명록

Spring (185)
Spring Test : Integration Test

1. 아래의 코드는 JUnit 4를 기반한 코드이다. 2. 통합 테스트의 경우 실제 컨텍스트가 필요하기 때문에 @SpringBootTest가 필요하다. 2-1 @RunWith만으로는 전체 스프링 컨텍스트가 기동하지 않기 때문에 Service가 주입되지 않는다. 3. 테스트 컨텍스트를 기동하기 위하여 @RunWith(SpringRunner.class) 가 필요하다. 3-1 없으면 테스트용 컨텍스트가 생성되지 않아 기동 자체가 되지 않는다. 4. testSaveOfDescpriton 테스트의 @Transactional은 필수다. 4-1 없는 경우, 스프링 컨텍스트 밖에서 실행하므로 Session을 찾을 수가 없다. package pe.pilseong.recipe.service; import static or..

Spring/Spring Test 2020. 8. 4. 12:11
Spring Test : JUnit 5 Mockito Unit Test

1. JUnit 5가 되면 @RunWith 대신 @ExtendWith를 가지고 특정 기능만 활성화하여 테스트 할 수 있다. 2. Controller 테스트 방법은 MockMvc을 사용하면 좀 더 편리하다. 2-0 Mock fixture의 초기화는 MockitoAnnotations.initMocks(this), @ExtendWith 둘 중 하나를 쓸 수 있다. 2-0-1 아래는 initMocks을 사용하였다. @ExtendWith를 사용하면 자동으로 initMocks 호출을 포함한다. 2-1 물론 MockMvc를 사용하지 않고도 테스트는 가능하다. 2-2 MockMvc를 사용하게 되면 특정 url의 호출을 시뮬레이션할 수 있고 결과를 한번에 체크 가능하다. 2-3 아래의 listOwners 메소드는 Moc..

Spring/Spring Test 2020. 8. 3. 00:56
Spring Test : Spring Boot 2.1 이전 버전에서의 Junit 5 설정하기

1. 현재 스프링 최신버전은 2.3.2이다. 현재 버전에서는 아래처럼 기본적으로 JUnit 5만 import된다. 1-1 exclusions 부분이 있어 vintage를 걷어내도록 하고 있는데 exclusions이 부분을 삭제하면 JUnit 4가 import 된다. ... org.springframework.boot spring-boot-starter-test test org.junit.vintage junit-vintage-engine org.springframework.boot spring-boot-maven-plugin 2. 버전이 2.1 이전의 경우 JUnit 5를 사용하기 위해서는 기존의 JUnit 4을 제거하고 JUnit 5를 삽입하는 부분이 필요하다. org.springframework.bo..

Spring/Spring Test 2020. 8. 2. 23:36
Spring Test : Maven Integration Test 설정하기

1. 메이븐의 spring-boot-maven-plugin은 기본적으로 surefire 플러그인을 사용하여 유닛테스트만 수행한다. 2. Integration Test는 시간이 많이 걸리고 시스템의 부하도 크기 때문에 Unit 테스트를 통과한 경우에만 수행해야 한다. 3. 통합 테스트를 위해서는 maven-failsafe-plugin을 설정해 주어야 한다. 3-1 설정 후에 verify goal을 통해 실행가능하고 한번에 surefire로 unit테스트 수행 후 통합테스트를 순차로 실행한다. 4. 아래는 전체 pom.xml 4-1 starter-test가 두개로 나누어져 있는데 스프링부트 최신버전은 JUnit5를 기본으로 사용하는데 4-1-1 최근 포스트에는 JUnit 4를 가지고 코드를 작성하였기 때문에..

Spring/Spring Test 2020. 8. 1. 00:08
Spring Test : Repository Integration Test with @RunWith, @DataJpaTest

1. 이 포스트는 JUnit 4 버전으로 작성되었다. 2. Integration Test를 위해서는 Application Context를 생성하여 한다. 2-1 이것을 위해 @RunWith라는 annotation으로 테스트를 수행하는 지정된 클래스를 실행하게 된다. 2-2 테스트를 위한 간단한 Context를 실행한다고 생각할 수 있고, 보통 JUnit 4에서는 SpringRunner.class가 지정된다. 2-3 SpringRunner.class는 이전에 SpringJUnit4ClassRunner의 이름만 바꾼거다. 3. JPA 테스트를 위하여 @DataJpaTest라는 것이 제공된다. 3-1 내부적으로는 auto-configuration이 모두 disable되고 JPA테스트와 관련된 부분만 활성화 된..

Spring/Spring Test 2020. 7. 31. 23:20
Spring Test : MockMvc 사용하여 MVC Controller 테스트 하기

0. JUint 4 기반의 테스트 코드이다. 1. MockMvc는 Web MVC Controller를 테스트 위해 만들어진 Unit Test용 클래스이다. 1-1 MockServletContext를 로딩하여 전체 application context 만들지 않고도 테스트 할 수 있게 해준다. 1-2 아래 코드에서 중요한 부분은 testMockMvc 메소드이다. 1-3 특정한 컨트롤러를 테스트할 수 있도록 도와주는 MockMvcBuilders를 제공한다. 1-4 perform 메소드를 통해 해당 컨트롤러의 메소드를 실행할 수 있고 1-5. MockMvcRequestBuilders, MockMvcResultMatchers의 get, status, view 메소드를 사용하여 상태를 확인한다. 1-6. get은 ..

Spring/Spring Test 2020. 7. 31. 14:31
Spring Test : Argument 캡처하기

1. JUnit 4 버전의 테스트 코드이다. 2. ArgumentCaptor이라는 클래스를 사용하여 인자 값을 받아올 수 있다. 2-1 ArgumentCaptor의 capture는 verify 구문 내에서 사용할 수 있다. 2-2 반환되는 값은 Recipe Set이 되고 검증에 사용할 수 있다. package pe.pilseong.recipe.controller; import org.junit.Test; import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.springframework.ui.Model; import pe.pilseong.recipe.domain.R..

Spring/Spring Test 2020. 7. 31. 13:42
Spring Test : Controller 레이어 클래스 테스트

1. JUnit 4 버전의 테스트 코드이다. 1-1 아래는 unit 테스트이므로 컨텐스트를 생성할 필요가 없다. 1-1-1 여기서는 MokitoAnnotations.intiMocks 메소드를 사용하였는데 1-1-2 @RunWith(MockitoJUnitRunner.class)를 사용해도 된다. 1-2 컨트롤러는 일반적으로 Service를 사용하고 Model을 사용한다. 둘 다 Mock으로 생성하였다. 1-3 service를 호출했을 때 반환할 값을 설정하였다. 1-4 controller의 메소드를 호출하여 정상적인 view이름을 반환하는 지 확인한다. 1-5 마지막으로 service의 메소드가 몇 번 호출되었는지 model의 메소드가 몇 번 호출되었는지 체크한다. package pe.pilseong.re..

Spring/Spring Test 2020. 7. 31. 12:19
이전 1 ··· 3 4 5 6 7 8 9 ··· 24 다음
이전 다음
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
  • 도커 개발환경 참고
  • AWS ARN 구조
  • Immuability에 관한 설명
  • 자바스크립트 멀티 비동기 함수 호출 참고
  • WSDL 참고
  • SOAP 컨슈머 참고
  • MySql dump 사용법
  • AWS Lambda with Addon
  • NFC 드라이버 linux 설치
  • electron IPC
  • mifare classic 강의
  • go module 관련 상세한 정보
  • C 메모리 찍어보기
  • C++ Addon 마이그레이션
  • JAX WS Header 관련 stackoverflow
  • SOAP Custom Header 설정 참고
  • SOAP Custom Header
  • SOAP BindingProvider
  • dispatcher 사용하여 설정
  • vagrant kvm으로 사용하기
  • git fork, pull request to the …
  • vagrant libvirt bridge network
  • python, js의 async, await의 차이
  • go JSON struct 생성
  • Netflix Kinesis 활용 분석
  • docker credential problem
  • private subnet에서 outbound IP 확…
  • 안드로이드 coroutine
  • kotlin with, apply, also 등
  • 안드로이드 초기로딩이 안되는 경우
  • navigation 데이터 보내기
  • 레이스 컨디션 navController
  • raylib
TAG
  • 설정
  • Spring
  • Spring Security
  • one-to-many
  • RestTemplate
  • 상속
  • jsp
  • Validation
  • Angular
  • one-to-one
  • crud
  • form
  • 스프링
  • 외부파일
  • spring boot
  • 하이버네이트
  • 로그인
  • hibernate
  • Security
  • Many-To-Many
  • 매핑
  • mapping
  • 자바
  • MYSQL
  • login
  • XML
  • 스프링부트
  • WebMvc
  • 설정하기
  • Rest
more
250x250

Blog is powered by Tistory / Designed by Tistory

티스토리툴바