Mock测试就是在测试过程中,对于某些不容易构造或不容易获取的对象,用一个虚拟对象来创建以便测试的测试方法。这个虚拟对象就是Mock对象。Mock对象就是真实对象在调试期间的代替品。
org.springframework.mock.env包中包含Environment和PropertySource抽象的Mock实现。
MockEnvironment和MockPropertySource对于开发代码时需要依赖于特定环境属性的容器外测试很有用。
org.springframework.mock.jndi包中包含了JNDI SPI的实现,可以使用该实现为测试套件或独立应用程序设置简单的JNDI环境。例如,如果JDBC DataSources在测试代码中与Java EE容器中的JNDI绑定到相同的JNDI名称,则可以在测试场景中同时复用应用程序代码和配置,而无须进行修改。
org.springframework.mock.web包中包含一组全面的Servlet API Mock对象,可用于测试Web上下文、控制器和过滤器。这些Mock对象是针对Spring Web MVC框架特意设计的,因此通常比动态Mock对象技术的EasyMock或替代Servlet API Mock对象技术的如MockObjects更方便使用。
Spring 5的Mock对象是基于Servlet 4.0 API的。