在分析单元/集成测试时,我看到主要的 CPU/时间贡献者之一是 DryIoc 委托编译。当前测试为每个测试重新创建并重新初始化容器。基本容器初始化始终相同,不同之处在于可以覆盖 sode deps 的测试。所以我想出了一个想法,尝试以某种方式在测试之间共享容器会很棒。理想情况下,我希望有一个已初始化的容器并编译所有委托,然后在测试中创建类似于范围/子容器或任何东西的东西,测试可以在其中进行覆盖。
唯一的问题是我们有一些单例,当然,每次新测试都应该创建单例,所以我不确定如何以及是否可能。
理想情况下,在测试之后,我们需要告诉容器丢弃所有已初始化的单例,并在下次解决引用时重新创建它们
谢谢问候雅霍尔
更新:如果我将使用 Reuse.InCurrentScope 而不是 Reuse.Singleton plus 将为每个新测试创建/使用新范围,我是否可以准确地实现我想要的?