Не удалось импортировать @WithAnonymousUser в Junit 4 - PullRequest
0 голосов
/ 30 мая 2018

Мне не удалось импортировать аннотацию @WithAnonymousUser в Junit 4. В обоих соответствующих операторах импорта отображается ошибка

import org.springframework.security.test.context.support.WithAnonymousUser;

и аннотация

@ WithAnonymousUser

import org.springframework.security.core.Authentication;
import org.springframework.security.core.context.SecurityContext;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.test.context.support.WithMockUser;
import org.springframework.security.test.context.support.WithAnonymousUser;

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:**/dispatcher-servlet.xml"})
public class SecurityUtilsTest {

Authentication authentication;

public void setup() {
    authentication = Mockito.mock(Authentication.class);
    SecurityContext securityContext = Mockito.mock(SecurityContext.class);
    Mockito.when(securityContext.getAuthentication()).thenReturn(authentication);
    SecurityContextHolder.setContext(securityContext);
}

@Test
@WithAnonymousUser
public void testIsAuthenticated_Failure() {
    boolean result = SecurityUtils.isAuthenticated();
    assertFalse(result);
}

Заранее спасибо.

1 Ответ

0 голосов
/ 30 мая 2018

Вам необходимо включить в свой проект банку Spring Security Test.Как вы это сделаете, зависит от того, как вы строите свой проект.

Если вы используете maven, добавьте это в ваш pom.xml:

<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-test -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-test</artifactId>
    <version>5.0.5.RELEASE</version>
    <scope>test</scope>
</dependency>
...