我有一個類控制器: 問題是在測試類的評論 - 我應該如何嘲笑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