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

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/Spring Test (16)
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
Spring Test : Service 레이어 클래스 테스트

1. JUnit 4 버전의 테스트 코드이다. 2. 아래는 Service 구현체의 Unit테스트의 예시이다. 연동이 필요하기 때문에 Mock object를 사용한다. 2-1 테스트는 context를 사용하지 않는다. 2-2 Mockito를 통해 Repository fixture을 구현하고 있다. 2-3 MockitoAnnotations은 @Mock으로 지정된 fixture를 초기화 해 준다. initMocks의 인자는 테스트 클래스가 된다. 2-3-1 더 정확히 말하면 @org.mockito.Mock, @Spy, @Captor, @InjectMocks 로 지정된 fixture를 초기화 해준다. 2-3-2 이 방식을 사용하지 않으려면 클래스에 @RunWith(MockitoJUnitRunner.class) 를..

Spring/Spring Test 2020. 7. 31. 11:54
Spring Test : JUnit, Mockito 기본

1. 스프링 개발의 기본 중에 하나가 테스트이다. 간단하게 몇 가지 메모해 준다. 2. junit 테스트 2-0 maven archetype quickstart 1.4로 생성하니 junit 4.11로 dependency가 생성된다. junit junit 4.11 test 2-1 대상 클래스 package pe.pilseong; /** * Hello world! * */ public class MyMath { int sum(int[] numbers) { int sum = 0; for (int i : numbers) { sum += i; } return sum; } } 2-2 테스트 클래스 2-2-1 일반적인 테스트는 기대값과 결과 값의 단순 비교이다. 2-2-2 아래 같이 assert를 기본으로 사용한다...

Spring/Spring Test 2020. 7. 9. 19:10
이전 1 2 다음
이전 다음
최근에 올라온 글
최근에 달린 댓글
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 Security
  • Validation
  • WebMvc
  • Spring
  • 자바
  • 스프링
  • mapping
  • 스프링부트
  • Angular
  • 상속
  • 로그인
  • form
  • 설정
  • MYSQL
  • spring boot
  • RestTemplate
  • 매핑
  • one-to-many
  • 하이버네이트
  • 외부파일
  • hibernate
  • Rest
  • crud
  • login
  • one-to-one
  • Many-To-Many
  • jsp
  • Security
  • 설정하기
  • XML
more
250x250

Blog is powered by Tistory / Designed by Tistory

티스토리툴바