我正在测试我的Spring MVC应用程序。 要求是模拟Get-Module
,但我需要SecurityContext
一些名称,而不是null。有没有办法做到这一点?
这是我的代码:
Authentication
答案 0 :(得分:2)
你在这里嘲笑了Spring的Authentication
对象:
Authentication auth = Mockito.mock(Authentication.class);
你告诉Spring的SecurityContextHolder
将这个Authentication
对象存储在这里:
Mockito.when(secCont.getAuthentication()).thenReturn(auth);
所以,如果你想让被模拟的Authentication
对象返回"某个名字"然后在它上设置一些模拟期望值。例如:
Mockito.when(auth.getName()).thenReturn("aName");
答案 1 :(得分:1)
使用Spring注释org.springframework.security.test.context.support.WithMockUser
@Test
@WithMockUser(username = "viewUser", authorities = { "view" })
public void mytest(){}