當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
模拟Spring Security上下文进行单元测试
生活随笔
收集整理的這篇文章主要介紹了
模拟Spring Security上下文进行单元测试
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天,在為一種Java方法編寫單元測試用例時,如下所示:
public ApplicationUser getApplicationUser() {ApplicationUser applicationUser = (ApplicationUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();return applicationUser; }我想模擬Spring Security Context以獲取Principal,以實現與我模擬方法的每個級別相同的目標,如下所示:
import org.junit.Before; import org.junit.Rule; import org.junit.Test; import static org.mockito.Mockito.when; import static org.mockito.Mockito.mock; import org.mockito.MockitoAnnotations; import org.springframework.security.core.Authentication; import org.springframework.security.core.context.SecurityContext; import org.springframework.security.core.context.SecurityContextHolder; import com.arpit.security.user.ApplicationUser;public class BaseTest {@Beforepublic void setupMock() {MockitoAnnotations.initMocks(this);}@Testpublic void mockApplicationUser() {ApplicationUser applicationUser = mock(ApplicationUser.class);Authentication authentication = mock(Authentication.class);SecurityContext securityContext = mock(SecurityContext.class);when(securityContext.getAuthentication()).thenReturn(authentication);SecurityContextHolder.setContext(securityContext);when(SecurityContextHolder.getContext().getAuthentication().getPrincipal()).thenReturn(applicationUser);}}翻譯自: https://www.javacodegeeks.com/2017/05/mocking-spring-security-context-unit-testing.html
總結
以上是生活随笔為你收集整理的模拟Spring Security上下文进行单元测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 检测电脑屏幕亮点(检测电脑屏幕亮点是什么
- 下一篇: 1999年外星人入侵事件是真的吗(地球保