Quarkus:如何禁用/模拟保险库进行单元测试
我目前正在面临Quarkus和Vault的问题。
当我启动JUNIT测试时,Vault尝试启动并且失败了,因为在本地设置了Vault配置。
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:912)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Caused by: java.lang.NullPointerException
at io.quarkus.vault.runtime.config.VaultConfigSource.getSecretConfig(VaultConfigSource.java:78)
at io.quarkus.vault.runtime.config.VaultConfigSource.getValue(VaultConfigSource.java:59)
我的问题是,在Quarkus的Junit测试中是否有一种方法可以禁用金库,例如在Springboot上(带有属性)?或创建可以在本地使用的保险库模拟?
谢谢。
I'm currently facing an issue with Quarkus and Vault.
When I launch JUnit tests, Vault trying to start and it failed because Vault configuration is not setup to run locally.
Caused by: java.lang.RuntimeException: Failed to start quarkus
at io.quarkus.runner.ApplicationImpl.doStart(ApplicationImpl.zig:912)
at io.quarkus.runtime.Application.start(Application.java:101)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Caused by: java.lang.NullPointerException
at io.quarkus.vault.runtime.config.VaultConfigSource.getSecretConfig(VaultConfigSource.java:78)
at io.quarkus.vault.runtime.config.VaultConfigSource.getValue(VaultConfigSource.java:59)
My question is, is there a way to disable Vault during Junit tests on Quarkus like on SpringBoot (with property) ? Or create Vault Mock which can be used locally ?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以将所有保险库配置指令前缀以“%prod”。并从测试配置文件中的Prod配置文件中检索到的Inject值。
在src/main/resources/
中
application.properties
You can prefix all your vault configuration directives by "%prod." and inject values retrieved from vault in prod profile in your test configuration file.
In src/main/resources/application.properties
In src/test/resources/application.properties
Hope this helps