gpt4 book ai didi

spring - 加载部分 Spring 上下文

转载 作者:行者123 更新时间:2023-12-02 09:53:07 25 4
gpt4 key购买 nike

我不是一个 Spring 专家,但我得到了一个带有巨大上下文文件(未分成模块)的遗留系统。

我想添加一些单元测试 - 使用实际的生产配置验证系统的不同部分。我开始使用 ClassPathXmlApplicationContext/FileSystemXmlApplicationContext 类来加载上下文,但是这需要很长时间。是否可以仅加载上下文文件的一部分(递归地),而不需要将原始文件分成模块?

更新:我将在这里发布我使用 Maven 实现的 Ralph 解决方案:我的 pom.xml:

      <plugin>
<groupId>com.google.code.maven-config-processor-plugin</groupId>
<artifactId>maven-config-processor-plugin</artifactId>
<version>2.0</version>
<configuration>
<namespaceContexts>
<s>http://www.springframework.org/schema/beans</s>
</namespaceContexts>
<transformations>
<transformation>
<input>context.xml</input>
<output>context-test.xml</output>
<config>test-context-transformation.xml</config>
</transformation>
</transformations>
</configuration>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<phase>test</phase>
</execution>
</executions>
</plugin>

我的测试上下文转换.xml:

<processor>
<add>
<name>/s:beans</name>
<value>
<![CDATA[
default-lazy-init="true"
]]>
</value>
</add>
</processor>

最佳答案

如果您尝试运行“单元”测试,则根本不需要完整的应用程序上下文。只需实例化您想要测试的类(也许还有它的合作者,尽管模拟可能是更好的选择),然后就可以开始了。单元测试应该集中于孤立的单个组件 - 否则它们就不是单元测试。

如果您尝试通过创建应用程序上下文中定义的完整对象层次结构来运行完整的集成测试,那么首先重构您的上下文并将其拆分为模块可能是最简单的方法 - 就像您一样已经在建议了。

关于spring - 加载部分 Spring 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7212663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com