Spring Boot junit测试安全应用程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot junit测试安全应用程序相关的知识,希望对你有一定的参考价值。
我在我的应用程序Spring Security OAuth2中使用。当我尝试使用JUnit测试测试服务层时,我收到此错误:
org.springframework.security.authentication.AuthenticationCredentialsNotFoundException:在SecurityContext中找不到Authentication对象
你能告诉我怎么解决吗?
这是我的Test类:
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class FooServiceTest {
@Autowired
private FooService service;
@Test
public void someTest() {
service.findFoo(1L);
}
}
答案
使用@WithMockUser
@WithMockUser(username = "usertest", password = "password", roles = "USER")
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
public class FooServiceTest {
@Autowired
private FooService service;
@Test
public void someTest() {
service.findFoo(1L);
}
}
以上是关于Spring Boot junit测试安全应用程序的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot:使用 Junit 模拟具有安全上下文的用户身份验证