3.9 测试的改善
Spring4.0框架中删除了spring-test模块中的废弃代码,还引入了几个用于单元测试和集成测试的新功能:
- 在spring-test模块中几乎所有的注解(如@ContextConfiguration、@WebAppConfiguration、@ContextHierarchy、@ActiveProfiles等)都可以使用元注解来创建个性化的组合注解并减少跨测试单元的配置成本。
- 通过简单的编程实现个性化的ActiveProfilesResolver接口,并使用@ActiveProfiles的resolver属性就可以激活bean定义的配置。
- 在spring-core模块中引入了新的SocketUtils类,它确保你可以扫描到本地主机上的闲置的TCP和UDP服务端口。这个功能不是专门提供给测试的,但是在编写需要使用套接字的集成测试代码是就非常有用,例如,测试内存中启动的SMTP服务、FTP服务、Servlet容器等。
- 在Spring4.0的org.springframework.mock.web包中,有一组基于Servlet3.0 API的模仿器。此外,还增强了几个Servlet的API模仿器(如MockHttpServletRequest、MockServletContext等)的功能,并改善了可配置性。