AKI*_*WEB 10 java junit spring
我正在为我的春季应用程序编写一些junit测试.下面是我的应用程序,它实现了InitializingBean接口,
public class InitializeFramework implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
try {
} catch (Exception e) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想afterPropertiesSet从我的junit测试中调用方法但不知何故,我无法理解这样做的正确方法是什么?我想,我可以用反射来调用这种方法,但我不认为,这是一种正确的方法吗?
任何人都可以为我提供一个简单的例子来说明如何编写一个简单的junit测试来测试类中的afterPropertiesSet方法InitializeFramework吗?
Sot*_*lis 11
InitializingBean#afterProperties()没有任何ApplicationContext只是另一种方法来实现和手动调用.
@Test
public void afterPropertiesSet() {
InitializeFramework framework = new InitializeFramework();
framework.afterPropertiesSet();
// the internals depend on the implementation
}
Run Code Online (Sandbox Code Playgroud)
Spring的BeanFactory实现将检测上下文中的类型的实例,InitializingBean并且在设置了对象的所有属性之后,调用该afterPropertiesSet()方法.
您也可以InitializeFramework通过ApplicationContext实现构建bean来测试它.
说你有
@Configuration
public class MyConfiguration {
@Bean
public InitializeFramework initializeFramework() {
return new InitializeFramework();
}
}
Run Code Online (Sandbox Code Playgroud)
在测试的某个地方(虽然不是真正的junit,更多的集成测试)
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(MyConfiguration.class);
Run Code Online (Sandbox Code Playgroud)
加载上下文时,您会注意到bean 的afterPropertiesSet()方法InitializeFramework被调用.
| 归档时间: |
|
| 查看次数: |
12141 次 |
| 最近记录: |