【发布时间】:2022-04-19 19:22:37
【问题描述】:
我有一个 OnApplicationEvent,它在服务器启动时执行一些花哨的预定代码。我想要做的是至少为我的一些单元测试禁用/覆盖这个调用。我在 Micronaut 应用程序中工作。
我该怎么做?
【问题讨论】:
-
有类似
@Requires(property="spec.name", value="SomeSpec")的帮助吗? -
您能详细解释一下吗?我尝试阅读有关 @Requires 的信息,但无法理解。
-
如果您的应用程序中的某个 bean 被标记了该注释,则该 bean 只会在
SomeSpec测试运行时加载。你可以做一些事情,比如提供一个测试特定的 bean,@Replaces一个现有的(生产)bean。有很多选择。 -
我认为它有效。我添加了注释@Requires(notEnv = Environment.TEST)。现在我的应用程序类没有加载,但测试运行得很好。您能否提供一些资源链接,我可以在其中检查示例代码以更深入地理解这些注释。
-
“您能否提供一些资源链接,我可以在其中检查示例代码以更深入地理解这些注释。” - 一些相关信息可在docs.micronaut.io/2.5.7/guide/#replaces 和docs.micronaut.io/2.5.7/guide/#factories 获得。
标签: overriding startup micronaut micronaut-test