java 如何在测试中创建io.vertx.mutiny.redis.client.Response

fhity93d  于 2023-03-21  发布在  Java
关注(0)|答案(1)|浏览(118)

我试图模拟ReactiveRedisClient redisClient get方法的签名是io.smallrye.mutiny.Uni<io.vertx.mutiny.redis.client.Response> get(java.lang.String arg0);
但是,似乎没有任何简单的方法可以直接创建io.vertx.mutiny.redis.client.Response
最后我模拟了它并创建了这个解决方案,但如果可能的话,我想直接创建Response,而不必模拟它。

Event event = new Event();
        String eventStr = event.toString();
        Response response = mock(Response.class);
        when(response.toString()).thenReturn(eventStr);
        when(redisClient.get(any())).thenReturn(Uni.createFrom().item(response));

有没有可能在不模仿响应的情况下执行上述代码
文档:https://javadoc.io/static/io.quarkus/quarkus-redis-client/1.10.1.Final/io/quarkus/redis/client/reactive/ReactiveRedisClient.htmlhttps://smallrye.io/smallrye-mutiny-vertx-bindings/2.8.0/apidocs/io/vertx/mutiny/redis/client/Response.htmlhttps://vertx.io/docs/apidocs/io/vertx/redis/client/Response.html

tjjdgumg

tjjdgumg1#

io.vertx.mutiny.redis.client.Response Package 了一个实现io.vertx.redis.client.Response接口的对象。
所以你需要模拟响应,然后 Package 它:

io.vertx.redis.client.Response bareResponse = mockResponse();
io.vertx.mutiny.redis.client.Response wrapped = io.vertx.mutiny.redis.client.Response.newInstance​(bareResponse);

相关问题