0

我正在测试一组最终将用于在 Spring 上下文中创建 bean 的类。我正在使用 JUnit 进行测试。我想确保当这些类的实例在测试中以编程方式实例化时,生命周期方法和 @Required 设置器被正确调用。我知道我可以通过普通的旧 java 代理来做到这一点,但我想知道 Spring(或其他地方)中是否存在对我有帮助的特定工具。

我正在寻找类似的东西

X x = ???.newBeanInstance(X.class); 
x.setFoo(foo); 
x.setBar(bar);
x.$postConstruct(); 
... 
x.$preDestroy();
x = null;

另一个不太理想的选项是只创建上下文的 XML 并使用它来初始化实例。

4

1 回答 1

2

如果你调出整个上下文,你可以使用spring-test包和它的@ContextConfiguration.

如果你想手动处理事情,你自己(几乎)。如果你有字段注入,你可以ReflectionTestUtils用来设置依赖。但除此之外,你:

  • 实例化对象new X()
  • 调用设置器
  • 调用初始化方法(你应该知道它是哪一个)
  • 最后调用销毁方法
于 2012-04-23T19:49:09.187 回答