我正在尝试设置一些最佳实践,如何将Spring配置与测试结合起来,这样就不会成为你的噩梦。
我的两个主要目标是:
- 最小化XML配置。我最关心的是用于测试目的的大量XML文件。
- 在测试中使用默认配置作为基础(与生产中相同),因此您可以隐式模拟所需内容。
醇>
最佳做法是:
- 使用注释自动装配作为依赖项注入的默认配置。在默认的Spring XML配置中,没有服务,资源等的bean定义。
- 将所有上下文:component-scan移动到applicatonConfig-main.xml中,以便可以在测试中进行模拟。此文件中不应有其他配置。
- 将环境之间可能不同的所有属性从XML移动到属性文件,可以使用属性文件占位符以及spring.active.profiles属性访问这些文件,如下所述:http://maciejwalkowiak.pl/blog/2012/03/27/spring-3-1-profiles-and-tomcat-configuration/
- 将所有Spring配置文件移动到一个文件夹。例如,如果您的应用程序包含持久性,模型等项目。专用于这些项目的所有XML配置文件都将移至Web应用程序项目/
醇>
对于测试:
- 使用默认的Spring配置来设置应用程序上下文,并在测试设置中以编程方式设置mocks,而不是使用单独的Spring配置。在这种方法中,我们仍然可以使用默认的Spring配置,无需维护额外的Spring配置文件。
- 如果由于某些原因导致难度为1,请使用自己的set和mocks定义编写单独的Spring XML文件。这里重要的是这个文件只是模拟设置,其余属性与默认配置相同。
醇>
有许多关于Spring单元测试的教程,但是当涉及到现实生活中的维护问题总会出现。
你怎么看?