我使用 SpringTest 和 EasyMock 对我的 Spring bean 进行单元测试。
我的测试bean是这样的:
@ContextConfiguration(locations = "classpath:/test/applicationContext-test.xml")
public class ControllerTest {
@Autowired
private Controller controller;
@Autowired
private IService service;
@Test
public void test() {
}
}
这是我的控制器:
@Controller
@Scope("request")
public class Controller implements InitializingBean {
@Autowired
private IService service;
void afterPropertiesSet() throws Exception {
service.doSomething();
}
}
在初始化 bean 时,Spring 会自动调用 afterPropertiesSet 方法。我想用 EasyMock 模拟对 doSomething 方法的调用。
我想在我的测试方法中执行此操作,但 afterPropertiesSet 在进入我的测试方法之前执行,因为 Spring 在初始化 bean 时调用它。
如何使用 SpringTest 或 EasyMock 在 afterPropertiesSet 方法中模拟我的服务?
谢谢
编辑:
我指定 Spring 将模拟服务正确加载到我的 Controller 中。我的问题不是如何创建模拟(已经可以了),而是如何模拟该方法。