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();
}
}
afterPropertiesSet メソッドは、Spring が Bean を初期化するときに自動的に呼び出されます。doSomething メソッドの呼び出しを EasyMock でモックしたいと思います。
テストメソッドでこれを行うつもりですが、テストメソッドに入る前に afterPropertiesSet が実行されます。これは、Spring が Bean を初期化するときに呼び出すためです。
SpringTest または EasyMock を使用して afterPropertiesSet メソッドに存在するサービスをモックするにはどうすればよいですか?
ありがとう
編集:
モックされたサービスが Spring によってコントローラーに正しくロードされることを指定します。私の問題は、モックを作成する方法ではなく (もう大丈夫です)、メソッドをモックする方法です。