작성
·
650
0
package com.example.studybin.account;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.boot.test.mock.mockito.MockBean;
import org.springframework.test.web.servlet.MockMvc;
import static org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.csrf;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
//import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
//import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultHandlers.print;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;
@DisplayName("회원 가입 처리 - 입력값 오류")
@Test
void signUpSubmit_with_wrong_input() throws Exception {
mockMvc.perform(post("/sign-up")
.param("nickname", "soob")
.param("email", "email...")
.param("password", "12345"))
.with(csrf())
.andExpect(status().isOk())
.andExpect(view().name("account/sign-up"));
}
여기 post에서 with method를 찾을 수 없다고
Cannot resolve method 'with' in 'ResultActions'
이렇게 뜨는데 어떻게 해결해야 할까요
해당 패키지는 import하고 있는데
왜 MockHttpServletRequestBuilder내에 있는 with를 참조 못할까요
패키지 버전 문제 때문에 그런것 같은데 정확히 어떻게 바꿔줘야 할질 모르겠습니다.
답변 2
1
해당 패키지 내에 with있는것도 확인했는데
리빌드를 하면 아래 에러가뜹니다.
java: cannot find symbol
symbol: method with(org.springframework.security.test.web.servlet.request.SecurityMockMvcRequestPostProcessors.CsrfRequestPostProcessor)
location: interface org.springframework.test.web.servlet.ResultActions
0