微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring中的JUnit测试 – 覆盖并忽略来自应用程序其他配置类的bean

我们在Spring 3中编写了大型应用程序.我需要编写一些服务的JUnit测试检查行为.它不是一个单元,而是系统的一部分.有一些服务和存储库协同工作 – >里面注入了很多豆子.该应用程序还使用方面.

我的问题是.在这种测试的情况下如何管理配置和bean?我需要使用app configes中定义的bean,并且在测试中只使用持久性来重新定义bean以使用嵌入式数据库.所以我需要使用src中的bean,因为它们被定义并仅覆盖一些导致麻烦的问题(持久性bean,bean使用webservices,……)
在测试包中,我使用数据源为hsql使Config类定义了bean的持久性.但我不知道接下来会发生什么.我尝试用以下方法注释Test配置类:

@Configuration
@EnableAspectJAutoproxy
@EnableTransactionManagement(mode = AdviceMode.ASPECTJ,proxyTargetClass = true)
@ComponentScan(basePackages = "com.example.our.app")
public class MyTestConfig implements TransactionManagementConfigurer {

扫描整个应用程序并使用src文件夹中的bean配置.但这也会引起其他导致问题的测试.这是一个好的策略吗?现在用什么 – 使用excludeFilters删除其他测试配置?或者这个策略是不是很糟糕?

谢谢

最佳答案
我认为这里使用的最佳方式是Spring profiles.
使用配置文件检查here now to use H2 for tests.

原文地址:https://www.jb51.cc/spring/431483.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐