【发布时间】:2019-12-11 04:37:23
【问题描述】:
我将使用 springsecurity 测试我的控制器。
@PostMapping("/xx")
public String xx(Authentication auth){
String userId = (String)auth.getPrincipal();
....
}
我不知道如何模拟 Authentication 对象。还是有其他办法处理?
我的测试如下所示
public class MyControllerTest{
@Autowired
private XxController xxController;
private MockMvc mockMvc;
@Before
public void setUp() {
mockMvc = MockMvcBuilders.standaloneSetup(xxController).build();
}
@Test
public void xxtestMethod() throws Exception {
MvcResult mvcResult = mockMvc.perform(MockMvcRequestBuilders.post(/xx))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
}
}
【问题讨论】:
-
@Deadpool 对不起,我没明白你的意思,你的意思是身体吗?
-
身份验证是springsecurity过滤链中的一个对象
-
我认为这个Authentication不是http请求中的header东西
标签: mockito mockmvc spring-security-rest