Вот мой исходный код.
public class Config{
private Long id;
private ConfigService configService;
public Config(Long id){
this.id=id;
}
public setConfigService(ConfigService configService){
this.configService=configService;
}
public ConfigService getConfigService(){
return configService;
}
public void callingService(){
ManagedElInterface mei = null
mei=getConfigService().getIdsFromConfigService(getId());
//...
}
private Long getId(){
return id;
}
}
Я высмеял
mei=getConfigService().getIdsFromConfigService(getId());
, но я могу видеть ноль в "mei"
Ниже мой тестовый класс, гдея использовал EasyMock для насмешек.
public class TestConfig{
@Test
public void testcallingService{
Config config=new Config(12345l);
ConfigService configService =EasyMock.createMock(ConfigService .class);
config.setConfigService (ConfigService );
ManagedElInterface mei=new ManagedElInterface();
//here i mocked
EasyMock.expect(configService.
getIdsFromConfigService(EasyMock.anyLong()))
.andReturn(mei);
config.callingService();
}
}
Класс ConfigService:
public class ConfigService{
public ManagedElInterface getIdsFromConfigService(Long l){
//database code
return new ManagedElInterface();
}
}
Класс ManagedElInterface:
public class ManagedElInterface{
//data
}
Здесь ConfigService - это классимея getIdsFromConfigService (Long l) . Я не хочу выполнять эти методы, поэтому я хочу издеваться. getConfigService (). GetIdsFromConfigService (getId ()); возвращает объект класса ManagedElInterface , поэтому я создал объект для ManagedElInterface и возвращаю мои собственные данные .Можете ли вы дать понять, что я делаю не так.Заранее спасибо