我想用Junit 5编写一些单元测试,以便在Vertx3.8的web客户端中使用post、get、put和delete方法进行端点测试。但我有一些问题要写这些测试。我访问这个链接,但我需要更多的帮助来为这些端点编写单元测试。请与我分享每一个请求的样本。我有一个数据库连接,在init方法中配置每个注释之前。
@BeforeEach:
DeploymentOptions options = new DeploymentOptions()
.setConfig(new JsonObject().put("http.port", port));
vertx.deployVerticle(new HttpVerticle(configuration, vertx, operations), options, context.completing());谢谢你的小费朋友们。
编辑:
在这个站点中,我在vert.x中找到了一个很好的编写单元测试的示例,然后开始编写我自己的端点测试,然后在服务还没有激活并在CI/CD上工作之前。当我打电话到终点的时候一切都很好。但是,当我想尝试一个Post结束点并使用英语字符测试pass时,当我尝试使用波斯语字符的Post端点测试时,它将不会通过,并得到以下错误: io.vertx.core.json.DecodeException: Failed to decode:un为人所识别的令牌t 't':when (JSON字符串、数字、数组、对象或令牌'null‘、'true’或'false')
@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端点编写单元测试?
发布于 2020-02-06 16:18:22
我在vert.x和junit5 这里上回答了一个类似的问题。
MockWebServer是一个非常好的工具,它可以帮助您测试包含http请求的代码。请参阅链接答案中的完整代码示例。
https://stackoverflow.com/questions/60090197
复制相似问题