gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 20:12:32 24 4
gpt4 key购买 nike

我们有用 Spring 3 编写的大型应用程序。我需要编写 JUnit 测试检查某些服务的行为。它不是一个单元,而是系统的一部分。它内部有一些服务和存储库一起工作->内部有很多注入(inject)的bean。该应用程序还使用方面。

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

@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与配置文件。

关于spring - Spring中的JUnit测试-覆盖和忽略来自应用程序其他配置类的bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573822/

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