Я внедряю HttpSession в свой контроллер с помощью @Autowired:
@RestController
public class MyController {
@Autowired
private HttpSession httpSession;
@GetMapping("hello")
public String getHello() {
return "hello " + httpSession.getId();
}
}
Как я могу смоделировать сеанс в аннотированном тесте @WebMvcTest?
@RunWith(SpringRunner.class)
@WebMvcTest(MyController.class)
public class MyControllerTest {
@Autowired
private MockMvc mvc;
@MockBean
private HttpSession session;
@Test
public void testGetHello() throws Exception {
when(session.getId()).thenReturn("sessionId");
mvc.perform(get("/hello"))
.andExpect(status().isOk())
.andExpect(content().string("hello sessionId"));
}
}
Это решение выдает исключение:No qualifying bean of type 'javax.servlet.http.HttpSession' available