Quarkus - 如何使用多个反应式 PgPool 测试 CDI 服务

问题描述

我有一个 CDI bean,我在其中注入了一些反应性数据源,如here

我尝试测试我的服务,但我不知道如何模拟所有 PgPool(我应该模拟它们吗?)? 我按照说明尝试了“测试容器”方法here

我注意到主要的实现没有使用@Inject 注释:见 here 为什么?

我在运行测试时得到了这个堆栈:

java.lang.RuntimeException: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build Failed due to errors
    [error]: Build step io.quarkus.arc.deployment.ArcProcessor#validate threw an exception: javax.enterprise.inject.spi.DeploymentException: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type io.vertx.mutiny.pgclient.PgPool and qualifiers [@Default]
    - java member: sncf.mobilite.groupehv.mytraindata.service.SignalementsScheduler#AGcclient
    - declared on CLASS bean [types=[sncf.mobilite.groupehv.mytraindata.service.SignalementsScheduler,java.lang.Object],qualifiers=[@Default,@Any],target=sncf.mobilite.groupehv.mytraindata.service.SignalementsScheduler]
    at io.quarkus.arc.processor.BeanDeployment.processErrors(BeanDeployment.java:1078)
    at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:255)
    at io.quarkus.arc.processor.BeanProcessor.initialize(BeanProcessor.java:129)
    at io.quarkus.arc.deployment.ArcProcessor.validate(ArcProcessor.java:428)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:920)
    at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
    at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2415)
    at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1452)
    at java.base/java.lang.Thread.run(Thread.java:834)
    at org.jboss.threads.JBossthread.run(JBossthread.java:501)
Caused by: javax.enterprise.inject.UnsatisfiedResolutionException: Unsatisfied dependency for type io.vertx.mutiny.pgclient.PgPool and qualifiers [@Default]
    - java member: sncf.mobilite.groupehv.mytraindata.service.SignalementsScheduler#AGcclient
    - declared on CLASS bean [types=[sncf.mobilite.groupehv.mytraindata.service.SignalementsScheduler,target=sncf.mobilite.groupehv.mytraindata.service.SignalementsScheduler]
    at io.quarkus.arc.processor.Beans.resolveInjectionPoint(Beans.java:484)
    at io.quarkus.arc.processor.BeanInfo.init(BeanInfo.java:378)
    at io.quarkus.arc.processor.BeanDeployment.init(BeanDeployment.java:247)
    ... 12 more

quarkus 文档中有很多使用 Panache 实体测试持久性的示例,但没有一个使用反应池。

怎么办?

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...