具有资源前提条件的 Quarkus 资源测试

Posted

技术标签:

【中文标题】具有资源前提条件的 Quarkus 资源测试【英文标题】:Quarkus Resource Test with preconditon of Resource 【发布时间】:2021-10-07 22:17:49 【问题描述】:

编写组件/集成测试。将 Quarkus 2.0 与放心、quarkus-junit5-mockito 和 quarkus-test-security-oidc 一起使用

我想用 precondtion(创建)测试资源方法,因为我想测试 GET。

问题是调用单独工作正常,或者不会出现错误。

两个调用都以:预期状态代码 但为 结束。

注入了资源,但处理 cdi 很痛苦,尤其是当测试注释会处理这个问题时。

有什么想法吗?

import static io.restassured.RestAssured.given;
...
@QuarkusTest
@TestHTTPEndpoint(MyResource.class)
class MyResourceTest 

private static final String AUTHTOKEN = "Foo Bar.eyJmb28iOiJiYXIifQ==";

@Test
    @TestSecurity(user = "user",
            roles = "user",
            attributes =  @SecurityAttribute(key = "username",
                    value = "testuser") )
    void testGetProducts() 

        final UUID id = given().header(AUTHORIZATION, AUTHTOKEN).when().post("/something").then().statusCode(200).extract().as(UUID.class);

        given().header(AUTHORIZATION, AUTHTOKEN).when().get("/something/all").then().statusCode(200);

//...
        
    

【问题讨论】:

【参考方案1】:

不敢相信我的愚蠢。

问题是我调用的资源被注释了不同的角色,让我搜索了几个小时。

在提供的正确角色下工作正常。

【讨论】:

以上是关于具有资源前提条件的 Quarkus 资源测试的主要内容,如果未能解决你的问题,请参考以下文章

自动化测试实施的前提条件

要授予访问权限,策略必须具有具有适用资源或条件的操作

性能测试-检查死锁

性能测试-检查死锁

为啥 quarkus.oidc.credentials.secret 被忽略?

使用 kotlin + quarkus 注入一些依赖项时出错