gpt4 book ai didi

java - 减少测试中的 spring ContextConfiguration 样板

转载 作者:行者123 更新时间:2023-11-30 03:44:35 24 4
gpt4 key购买 nike

我想知道是否有一种方法可以减少我们当前为集成测试编写的样板文件的数量。

罪魁祸首是 ContextConfiguration,我们当前向其中发送了 7 个不同的字符串。

我们的一项测试如下所示(有效负载代码已删除):

@ContextConfiguration(locations = {"classpath:properties-config.xml",
"classpath:dataSources-config.xml",
"classpath:dao-config.xml",
"classpath:services-config.xml",
"classpath:ehcache-config.xml",
"classpath:test-config.xml",
"classpath:quartz-services.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
@Category(IntegrationTest.class)
public class TerminalBuntsPDFTest {
@Autowired
private JobService jobService;

@Test
public void testCode() throws SystemException {
assertTrue("Success", true);
}
}

并且加载哪些 xml 文件的规范占用了大量空间。我们正处于从 xml 迁移到注释的(非常缓慢的)过程中,但是该项目中还有很多工作要做。

我们使用的是 spring 3.2。

最佳答案

基于注释的方法是创建一个 Spring Configuration Java 类,如下所示:

@Configuration("testConfig")
@ImportResource({
"dataSources-config.xml",
"dao-config.xml",
"services-config.xml"
})
public class TestConfiguration {

// TO create a spring managed bean
@Bean
MyBean myBean() {
return new MyBean();
}

}

然后你可以像这样注释你的测试类来加载配置:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
classes=TestConfiguration.class,
loader=AnnotationConfigContextLoader.class
)
@Category(IntegrationTest.class)
public class TerminalBuntsPDFTest {

这只是一个简单的示例,可能无法编译,但应该能让您走上正轨

一些相关文档:

http://www.tutorialspoint.com/spring/spring_java_based_configuration.htm

http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/Configuration.html

关于java - 减少测试中的 spring ContextConfiguration 样板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26060725/

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