我正在尝试设置一些最佳实践,如何将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-轮廓-和- Tomcat的配置/
- 将所有Spring配置文件移动到一个文件夹.例如,如果您的应用程序包含持久性,模型等项目.专用于这些项目的所有XML配置文件都将移至Web应用程序项目/
对于测试:
- 使用默认的Spring配置来设置应用程序上下文,并在测试设置中以编程方式设置mocks,而不是使用单独的Spring配置.在这种方法中我们仍然可以使用默认的Spring配置,无需维护额外的Spring配置文件.
- 如果由于某些原因难以实现1,请使用自己的set和mocks定义编写单独的Spring XML文件.这里重要的是,此文件只执行模拟设置,其余属性与默认配置相同.
有很多关于Spring单元测试的教程,但是当涉及到现实生活中的维护问题总会出现.
你觉得怎么样?