vert.x - Quarkus - 如何使用多个反应式 PgPool 测试 CDI 服务
问题描述
我有一个 CDI bean,我在其中注入了一些反应性数据源,如此处所述
我尝试测试我的服务,但我不知道如何模拟所有 PgPool(我应该模拟它们吗?)?我尝试了这里解释的“测试容器”方法
我注意到主要实现不使用 @Inject 注释:请参见此处 为什么?
我在运行测试时得到了这个堆栈:
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, java.lang.Object], qualifiers=[@Default, @Any], 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 实体测试持久性的示例,但没有使用反应池测试持久性的示例。
怎么做 ?
谢谢!
解决方案
推荐阅读
- forms - 表单上显示“(未共享)切换帐户”的消息
- python - 如何在加入时分配角色?
- javascript - 如何使用 JavaScript 更改 li 的 Font Awesome 图标
- localization - i18next 不会在 nextjs 应用程序中更改语言
- python - sqlalchemy 和 postgres:从存在的选择插入
- javascript - React.js:useDef 未定义
- java - 如何忽略字段级别的未知字段?
- java - java中基于正则表达式过滤子目录
- laravel - 需要为每个表格行创建一个视图 laravel 管理面板
- python - 从包含键和值映射的行列表创建嵌套 JSON 文件