주뇽's 저장소
[Trouble] JAVA Spring jsonPath 함수 사용 시 에러 본문
728x90
반응형
JUnit4를 이용하여 Controller 기능을 테스트 하는 도중에 책에서 나온 부분과 실제 함수가 달라 오류가 발생했다.
URL 요청에 들어온 파라미터가 제대로 들어왔는지 체크하기 위해 jsonPath 함수를 사용하는데 기존 책은 다음과 같이 작성되어 있다.
package com.spring_jyp_todo.springbootTodoProject.controller;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
@RunWith(SpringRunner.class)
@WebMvcTest(controllers = LoginController.class)
public class LoginControllertest {
@Autowired
private MockMvc mvc;
public void 파라메터리턴() throws Exception{
mvc.perform(get("/login")
.param("name", "PARK"))
.andExpect(status().isOk())
.andExpect(jsonPath("$.name", is("PARK")));
}
}
여기서 jsonPath("$,name", is("PARK")); 을 하면 is라는 함수가 없다고 나온다 이는 다음과 같이 대체해주면 된다
.andExpect(jsonPath("$.name", ("PARK")).exists());
'웹개발 > SpringBoot' 카테고리의 다른 글
[Spring Framework] 로그인과 로그아웃과 같은 인증을 쉽게 구현하게 도와주는 Spring Security (2) | 2023.12.05 |
---|---|
[Java Spring] JDBC, Spring JDBC, JPA, Spring JPA (2) | 2023.11.24 |
[Java Spring] Spring FrameWork (0) | 2023.11.22 |