我有一个类控制器: 问题是在测试类的评论 - 我应该如何嘲笑myFactory对象并将此对象设置为控制器的属性?即使我用@ Mock/EasyMock来嘲笑工厂对象,我应该如何在自动装配中设置它在控制器中,它没有工厂的设置器 因此,我不能使用controller.setFactory() 另外,我该如何模拟在工厂对象的方法,我的方式做它与@Mock对象:Mockito.when(factory.someFactoryMethod).andReturn(“ABC”)春天 - 在另一个类的junit测试中设置自动装配对象
public class Controller{
@Autowired
MyFactory factory;
someMethod(){
String abh = factory.someFactoryMethod("defaultObject");
}
}
public class MyFactory{
public String someFactoryMethod(String argument){
//some code
}
}
public class ControllerTest{
@Before
public void initialize() {
Controller testController = spy(new Controller());
/*
how should I mock myFactory object and set this object as a property of controller? Even if I mock the factory object using @Mock/ EasyMock, how should I set this in controller as with Autowiring, it does not have the setter for factory
So, I cant use controller.setFactory(<mocked object>)
Also, How do I mock the methods in factory object , the way I do it for objects with @Mock : Mockito.when(factory.someFactoryMethod).andReturn("abc")
*/
}
}
难道你不需要调用'MockitoAnnotations.initMocks(this)'? – gmaslowski
的确如此,或者使用MockitoJunitRunner – 6ton