일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 토비의 스프링
- 스프링 포매터
- 도커 이미지 빌드
- ioc컨테이너
- Spring
- java predicate
- kotlin ::
- 스프링 시큐리티 설정
- 스프링부트 도커
- kotlin 리팩터링
- 자바 필터
- fetch join
- 정적팩토리메서드
- spring formatter
- method refetence
- IOC
- Atomicity
- 생성자주입
- 비기능적 요구사항
- 수정자주입
- 스프링
- 그래프큐엘
- 기능적 요구사항
- 스프링시큐리티
- open-session-in-view
- 소프트웨어의 품격
- 동적파라미터
- 스프링di
- jpa lazy
- jpa no session
Archives
- Today
- Total
공부기록
MockMvc로 테스트할 때 415 코드 뜨면서 테스트 실패 본문
반응형
MemberController
...
@PostMapping("/members")
public Member save(@RequestBody Member member) {
return memberService.create(member);
}
...
MemberControllerTest
@WebMvcTest(MemberController.class)
class MemberControllerTest {
@Autowired
MockMvc mockMvc;
@MockBean
MemberService memberService;
@Test
void create() throws Exception {
Member member = getMockMembers().get(0);
when(memberService.create(member)).thenReturn(member);
String memberString = "{\"name\":\"grace\",\"email\":\"govlmo91@gmail.com\"}";
mockMvc.perform(post("/v1/members")
.content(memberString))
.andExpect(status().isOk());
}
}
테스트결과
요청값
MockHttpServletRequest:
HTTP Method = POST
Request URI = /v1/members
Parameters = {}
Headers = [Content-Length:"45"]
Body = <no character encoding set>
Session Attrs = {}
응답값
MockHttpServletResponse:
Status = 415
Error message = null
Headers = [Accept:"application/json, application/octet-stream, application/xml, application/*+json, text/plain, text/xml, application/x-www-form-urlencoded, application/*+xml, multipart/form-data, multipart/mixed, */*"]
Content type = null
Body =
Forwarded URL = null
Redirected URL = null
Cookies = []
해결
MockMvc로 테스트할 때 ContentType을 지정해주자.
.contentType(MediaType.APPLICATION_JSON))
mockMvc.perform(post("/v1/members")
.content(memberString)
.contentType(MediaType.APPLICATION_JSON))
.andDo(print())
.andExpect(status().isOk());
반응형
'삽질기록' 카테고리의 다른 글
[JPA] INSERT 쿼리가 나가지 않을 때 (0) | 2020.01.27 |
---|---|
스프링부트+그래들+롬복 ) warning: You aren't using a compiler supported by lombok (0) | 2019.08.09 |
gradle 사용시 lombok cannot find symbol 에러 (0) | 2019.08.02 |