首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编写Post、Get、Put、Delete方法

如何编写Post、Get、Put、Delete方法
EN

Stack Overflow用户
提问于 2020-02-06 08:03:48
回答 1查看 876关注 0票数 2

我想用Junit 5编写一些单元测试,以便在Vertx3.8的web客户端中使用post、get、put和delete方法进行端点测试。但我有一些问题要写这些测试。我访问这个链接,但我需要更多的帮助来为这些端点编写单元测试。请与我分享每一个请求的样本。我有一个数据库连接,在init方法中配置每个注释之前。

代码语言:javascript
复制
@BeforeEach:

DeploymentOptions options = new DeploymentOptions()
            .setConfig(new JsonObject().put("http.port", port));
    vertx.deployVerticle(new HttpVerticle(configuration, vertx, operations), options, context.completing());

谢谢你的小费朋友们。

Vertx JUnit 5集成

编辑:

在这个站点中,我在vert.x中找到了一个很好的编写单元测试的示例,然后开始编写我自己的端点测试,然后在服务还没有激活并在CI/CD上工作之前。当我打电话到终点的时候一切都很好。但是,当我想尝试一个Post结束点并使用英语字符测试pass时,当我尝试使用波斯语字符的Post端点测试时,它将不会通过,并得到以下错误: io.vertx.core.json.DecodeException: Failed to decode:un为人所识别的令牌t 't':when (JSON字符串、数字、数组、对象或令牌'null‘、'true’或'false')

代码语言:javascript
复制
@Test
public void testAddNewCountry(Vertx vertx, VertxTestContext context) {
    System.out.println(port);

    final String json = Json.encodePrettily(new Country("مالزی", true));
    final String length = Integer.toString(json.length());
    vertx.createHttpClient().post(port, "localhost", AllRoutes.COUNTRY)
            .putHeader("content-type", "application/json")
            .putHeader("content-length", length)
            .handler(response -> {
                response.bodyHandler(body -> {
                    response.statusCode();
                    context.completeNow();
                });
            })
            .write(json)
            .end();
}

因此,这个网站是很好的帮助,但在邮政端点,我有一个问题,我没有任何放置或删除样本。我也不能用assert作为检查结果。然后我决定问一个问题来帮助我如何为Vert.x端点编写单元测试?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-06 16:18:22

我在vert.x和junit5 这里上回答了一个类似的问题。

MockWebServer是一个非常好的工具,它可以帮助您测试包含http请求的代码。请参阅链接答案中的完整代码示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60090197

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档