You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

测试中如何直接创建io.vertx.mutiny.redis.client.Response对象

无需Mock创建Redis Response对象的实现方式

你可以直接通过Vertx原生Redis Response的实现类结合Mutiny包装类来创建对象,无需依赖Mock框架,具体步骤如下:

核心思路

io.vertx.mutiny.redis.client.Response是Vertx原生io.vertx.redis.client.Response的Mutiny适配包装类,只需先创建原生Response实例,再通过Mutiny包装类的静态方法转换即可。

代码示例

Event event = new Event();
String eventStr = event.toString();

// 1. 创建原生Vertx Redis Response实例(以字符串类型为例)
io.vertx.redis.client.Response vertxResponse = io.vertx.redis.client.Response.string(eventStr);
// 如需模拟其他Redis数据类型,可使用对应工厂方法:
// 数字类型:io.vertx.redis.client.Response.number(123L);
// 哈希结构:io.vertx.redis.client.Response.hash(Map.of("id", "1", "name", "test"));
// 列表结构:io.vertx.redis.client.Response.list(Arrays.asList(Response.string("a"), Response.string("b")));

// 2. 转换为Mutiny版本的Response
io.vertx.mutiny.redis.client.Response mutinyResponse = io.vertx.mutiny.redis.client.Response.newInstance(vertxResponse);

// 3. 返回包装好的Uni
when(redisClient.get(any())).thenReturn(Uni.createFrom().item(mutinyResponse));

补充说明

原生io.vertx.redis.client.Response提供了一系列静态工厂方法,覆盖了Redis常用的返回类型(字符串、数字、哈希、列表等),完全可以满足测试场景下模拟Redis返回结果的需求。

内容的提问来源于stack exchange,提问作者Konstantin Rezchikov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 11:03:24