具有 jakarta 核心 @Context SecurityContext 的自定义类抛出以下异常:
Method threw 'java.lang.IllegalStateException' exception. Cannot evaluate jakarta.ws.rs.core.ContextProducers_ProducerMethod_securityContext_4dee4dfc4a691eaefdabc3490f54879a07ccb609_ClientProxy.toString()
当我进行测试并调用服务方法进行测试时,会发生这种情况,其中注入了这个自定义类。我们利用 SecurityContext 检索一些信息并稍后在代码中进行一些检查。
自定义类是@RequestScoped。
我们尝试了 Quarkus 文档中的一些不同方法,但没有成功。 在进行单元测试或将其纳入某些测试范围时,有没有办法模拟或初始化 SecurityContext? 使用 @Context SecurityContext 时如何进行单元测试?
添加此依赖项:
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-test-security</artifactId>
<scope>test</scope>
</dependency>
并像这样使用它:
@Test
@TestSecurity(user=“user”, roles=“admin”)
欲了解更多信息,请检查此链接