Java REST API GET 测试

Java REST API GET test

我想知道如何测试下面给出的 GET。我没有太多的测试经验,所以如果有人能告诉我正确的方法或评论我应该怎么做更好,我会很高兴。

@Path("/some")
public class SomeApi {

    @Inject
    SomeLogic someLogic;

    @GET
    @Produces({"application/json;charset=utf-8","application/json"})
    @RolesAllowed("ek_external")
    public Response getSome(@QueryParam("id") Long id, @QueryParam("name") String name, @Min(0) @DefaultValue("0") @QueryParam("offset") Integer offset, @Min(1) @Max(50) @DefaultValue("20") @QueryParam("limit") Integer limit, @Context SecurityContext securityContext) {
        return someLogic.getSome(id, name, offset, limit, securityContext);
    }
}

这是我的GET。我不确定如何处理所有这些 QueryParams 和带注释的参数。

我正在尝试这样的事情

@QuarkusTest
public class SomeApiTest {

    @Test
    public void testGetSome() {
        given()
                .when().get("/some")
                .then()
                .statusCode(200)
                .body()
    }
}

我很乐意告诉我该走哪条路:)

此处文档中的示例:https://quarkus.io/guides/getting-started-testing#recap-of-http-based-testing-in-jvm-mode 表明唯一缺少的可能是设置正文......(200).body(is(someBody))

此处给出的示例:https://quarkus.io/guides/getting-started-testing#restassured 看起来也很相关。

还要确保您提供 @TestConfiguration,这样当您 @Inject SomeLogic 的 class 时,它不是 null