模拟对象和Spring注释

Arv*_*ind 4 java spring mocking

我在我的代码中使用Spring注释来完成DI.所以假设我有一个依赖于另一个类class2的类class1,我将class1定义如下:

@Component
public class class1 {

@Resource
private interface2 object2;

}
Run Code Online (Sandbox Code Playgroud)

class2是interface2的一个实现.

现在让我说我想模拟class2并将它传递给class1,我在class1中看不到任何构造函数或setter.我认为Spring使用反射来注入object2.我怎么嘲笑它?我应该在class1中添加一个setter吗?或者我可以像Spring一样重复使用它 - 我的意思是spring本身有一个模拟对象框架或者什么,我打算使用EasyMock进行模拟.

谢谢

cjs*_*hno 6

Spring中的ReflectionTestUtils类可能会有所帮助.
它似乎做你正在寻找...至少注射部分:-)

  • 它不仅仅是链接,@ some.链接文本是他解决问题所需的类的名称.如果你删除链接降价,你仍然有答案.这是试金石.请参阅:https://meta.stackexchange.com/questions/225370/your-answer-is-in-another-castle-when-is-an-answer-not-an-answer (2认同)