系列文章
前言
上篇文章《单元测试—— Mock 对象行为之 Mockito》介绍的实践部分是运行 MockitoJUnitRunner 上的,Mockito 它可以模拟 Bean 的行为,但是它并没有真正的创建 Bean,MockitoJUnitRunner 并不创建 Spring Test Context。
SpringJUnit4ClassRunner 是 BlockJUnit4ClassRunner(JUnit4父类,但功能完全一样) 的扩展,它通过 TestContextManager 和相关支持类和注释,提供 Spring TestContext Framework 的功能进行标准的JUnit测试。
在 SpringJUnit4ClassRunner 下创建的 Bean, 其注释都会被解释,被@Autowired 或者 @PreDestiry 等注释的方法也会在其生命阶段被执行,它就是一个 Spring Context 中真正的 Bean。这不像在 MockitoJUnitRunner 中