попыткой замокать метод возвращающий userRole
сам метод возвращает Collection<? extends GrantedAuthority>
Collection<? extends GrantedAuthority> getAuthenticatedPrincipalUserRole() {
if (!(getCurrentAuthentication() instanceof AnonymousAuthenticationToken)) {
return getCurrentAuthentication().getAuthorities();
} else {
return Collections.emptyList();
}
}
и в тесте я создаю
Collection<? extends GrantedAuthority> collectionsOfRoles = Collections.singleton(Role.USER);
when(userService.getAuthenticatedPrincipalUserRole()).thenReturn(collectionsOfRoles));
но ThenReturn показывает, что сингатура неверная, как будто не угадал с возвращаемым значением
при этом у меня public enum Role implements GrantedAuthority
что я могу упускать?
Ты упускаешь, что у Java generics немного особенные. И метод с таким типом ты в принципе не можешь застабать, тебе нужно указывать конкретный тип в методе без джокера.
Обсуждают сегодня