【发布时间】:2016-05-17 09:37:57
【问题描述】:
您能帮我为该代码定义 PowerMock:
String role = "ROLE_WARP_PUBLISH_PRIVATE";
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
Collection<? extends GrantedAuthority> authorities = authentication.getAuthorities();
for (GrantedAuthority auth : authorities)
{
if(auth.getAuthority().equals(role))
{
if (publishCheckbox == true)
{
getScenarioService().makePublic(scenarioVersionId);
}
}
}
所以我知道我必须如何模拟getContext(),但是当调用此方法时我无法返回某些内容,所以我完全不知道如何模拟这几行。
感谢您的帮助
【问题讨论】:
-
一般这类问题,你应该先试试谷歌。 Stack Overflow 是为了解决代码问题,而不是(我在这里也不是要冒犯)缺乏知识。如果您要提问,请查看How to Ask。谢谢。
-
-
很遗憾我不能亲自帮助你,因为我对 java 一无所知 - 我只是在审查这个问题。
-
这就是我目前发现的:Authentication authentication = Mockito.mock(Authentication.class); SecurityContext securityContext = Mockito.mock(SecurityContext.class); Mockito.when(securityContext.getAuthentication()).thenReturn(authentication); SecurityContextHolder.setContext(securityContext);
-
@Herrminator 从未将更多信息放入 cmets;而是更新问题。并且永远不要将代码放入 cmets。格式很重要。
标签: java unit-testing junit mockito powermock