일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Github
- Spring
- CodeDeploy
- db
- JUnit
- workflow
- AOP
- build_test
- springboot
- rds
- redis
- mutable
- 알고리즘
- aws
- immutable
- java
- 사이드 프로젝트
- Action
- template
- EC2
- compiler
- kotlin
- QueryDSL
- string
- git
- Airflow
- JPA
- 토비의 스프링
Archives
- Today
- Total
개발 일기
[JUnit] JUnit , AssertJ , MockMVC 메소드 본문
이번 포스팅은 assertJ의 메소드와 설명,
MockMVC의 메소드와 설명을 기록해보겠습니다.
사용법은 추후 예시로만든 클래스와 함께 계속 포스팅하겠습니다
AssertJ
Assert는 아래와 같이 되어있습니다
assertThat(obj).메소드();
assertThat(playList.getUse()).isEqualTo(useNo);
아래의 설명은 모두 왼쪽 값과의 비교를 기준으로 합니다
메소드 | 설명 |
isEqualTo(obj) | obj와 같다 |
isNotEqualTo(obj) | obj와 다르다 |
isEqualToIgnoringCase(str) | 파라미터와 같다 ( 대소문자 무시) |
contains(str) | 파라미터를 포함한다. |
containsIgnoringCase(str) | 파라미터를 포함한다( 대소문자 무시) |
doesNotContain(str) | 파라미터를 포함하지 않는다. |
startsWith(str) | 파라미터로 시작한다 |
doesNotStartWith(str) | 파라미터로 시작하지 않는다. |
endsWith(str) | 파라미터로 끝난다 |
doesNotEndWith(str) | 파라미터로 끝나지 않는다. |
matches(regex) | regex 정규식과 같다 |
doesNotMatch(regex) | regex 정규식과 같지 않다 |
isLowerCase(str) | 파라미터는 소문자로 이루어져 있다 |
isUpperCase(str) | 파라미터는 대문자로 이루어져 있다. |
isZero(n) | 파라미터는 0이다 |
isNotZero(n) | 파라미터는 0이 아니다 |
isOne(n) | 파라미터는 1이다 |
isPositive(n) | 파라미터는 양수 이다 |
isNegative(n) | 파라미터는 음수 이다 |
isBetween(start, end) | start와 end 사이의 값 이다 |
isStrictlyBetween(start,end) | start와 end 사이의 값이 아니다 |
isCloseTo(n within or offset) | 주어진 within 또는 offset 에 가까운 값이다. |
isNotCloseTo(n, byLessThan or offset) | 주어진 within 또는 offset 에 가까운 값이 아니다 |
isCloseTo(n, withinPercentage) | 주어진 백분율 내에서 주어진 숫자에 가깝다 |
isNotCloseTo(n, withinPercentage) | 주어진 백분율 내에서 주어진 숫자에 가깝지 않다 |
isTrue() | 참이다 |
isFalse() | 거짓이다 |
isNull() | null 값 이다 |
isNotNull() | null 이 아니다 |
isBlank() | 빈 값이다 |
isNotBlank() | 빈 값 이 아니다 |
isEmpty() | 빈 값이다 ( 공백 포함 ) |
isNotEmpty() | 빈 값이 아니다 ( 공백 미 포함 ) |
isNotOrEmpty() | 빈 값이 아니다 (공백 미포함 ) |
isNullOrEmpty() | null 값 이거나 빈 값 이다 (공백 포함 ) |
isLessThan(str) | str보다 낮은 문자열 이다 (아스키 코드) |
isln(..obj) | 여러개의 obj 중 1개와 같다 |
isNotln(..obj) | 여러 obj 와 모두 다르다 |
filteredOn(..) | list필터 |
extracting(..) | list 프로퍼티 값 |
MovkMvc
각 파트별 예시를 작성해두겠습니다.
request
ResultActions actions = this.mockMvc.perform(patch(url)
.header("access_token", accessToken)
.header("refresh_token", refreshToken)
.param("playListId", String.valueOf(playList.getPlayListId()))
.param("modifyPlayListName", playListName));
위처럼 사용이 가능합니다.
메소드 | 설명 |
contentType() | 전송 타입 |
content() | 전송 내용 |
header() | 전송 헤더 |
headers() | 여러개의 헤더 |
param() | 전송 파라미터(key , value) |
params() | 전송 여러개의 파라미터 |
queryParam() | 전송 쿼리형식 파라미터 (name=a&age=10) |
queryParams() | 여러개의 쿼리형식 파라미터 |
cookie() | 전송 쿠키 |
locale() | 전송 로컬 영역 |
requestAttr() | 전송 request scope속성 |
sessionAttr() | 전송 session scope 속성 |
flashAttr() | 전송 flash scope 속성 |
session() | 전송 세션 |
principal() | 전송 principal |
contextPath() | 프로젝트 명 |
servletPath() | 패키지 + 파일명 |
characherEncoding() | 인코더 |
result
결과 확인
actions
.andDo(print())
.andExpect(status().isOk())
.andExpect(jsonPath("$.data.playListName").value(playListName))
메소드 | 설명 |
status() | http status 코드 검증.. |
header() | header 검증 |
content() | content 검증 (body) |
jsonPath() | json 형식으로 content 검증 |
xpath() | xpath 형식으로 content 검증 |
cookie() | cookie 검증 |
view | 컨트롤러가 반환한 뷰 이름 거증 |
forwardedUrl | 이동대상의 경로를 검증 |
fowardedUrlPattern | 이동대상의 경로를 패턴으로 검증 |
redirectedUrl | 리다이렉트 대상의 경로 또는 URL 검증 |
redirectedUrlPattern | 리다이렉트 대상의 경로 또는 URL 패턴 검증 |
model | 스프링 MVC 모델 상태 검증 |
request | 비동기 처리의 상태나 요청 스코프 상태 검증 |
AssertJ와 MockMvc의 메소드에 대해서 알아봤습니다
추후에 SpringBoot로 사용한 테스트 코드를 포스팅해보겠습니다.
'Spring' 카테고리의 다른 글
토비의 스프링 스터디 시작. (0) | 2021.10.20 |
---|---|
SpringBoot 2.5.x , Java11 버전 이상에서 QueryDSL 설정하기 (0) | 2021.08.31 |
SpringBoot convert snake to camel, camel to snake (0) | 2021.08.06 |
SpringBoot 2.5.X 버전 이상에서 QueryDsl 설정하기 (0) | 2021.08.05 |
SpringBoot 에서 Test DB H2 로 설정하기 (0) | 2021.08.02 |