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
。
我想知道如何测试下面给出的 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
。