测试改进

除了精简spring-test模块中过时的代码外,Spring 4 还引入了几个用于单元测试和集成测试的新功能。

  • 几乎 spring-test模块中所有的注解(例如:@ContextConfiguration@WebAppConfiguration@ContextHierarchy@ActiveProfiles等等)现在可以用作元注解来创建自定义的 composed annotations 并且可以减少测试套件的配置。
  • 现在可以以编程方式解决Bean定义配置文件的激活。只需要实现一个自定义的ActiveProfilesResolver,并且通过@ActiveProfiles的resolver属性注册。
  • 新的 SocketUtils 类被引入到了spring-core模块。这个类可以使你能够扫描本地主机的空闲的 TCP 和 UDP 服务端口。这个功能不是专门用在测试的,但是可以证明在你使用 Socket 写集成测试的时候非常有用。例如测试内存中启动的SMTP服务器,FTP服务器,Servlet容器等。
  • 从 Spring 4.0 开始,org.springframework.mock.web包中的一套mock是基于Servlet 3.0 API。此外,一些Servlet API mocks(例如:MockHttpServletRequestMockServletContext等等)已经有一些小的改进更新,提高了可配置性。

书籍推荐