код выглядит примерно такКак издеваются объект, который находится внутри метода класса serviceimpl
public GetPortfoliosResponse retrievePortfolios(RequestIdentityInfo requestIdentityInfo, GetPortfoliosRequest getPortfoliosRequest) {
PortfolioReferenceParameter portfolioReferenceParameter = new PortfolioReferenceParameter();
//some code
List<Portfolio> portfolios = portfolioReferenceParameter.getPortfolios();
}
и в моем тестовом классе я делаю что-то вроде этого
@Mock
private PortfolioReferenceParameter portfolioReferenceParameter;
@Before
public void setup() {
MockitoAnnotations.initMocks(this);
List<Portfolio> portfolios = new ArrayList<Portfolio>();
//code to build the list
when(portfolioReferenceParameter.getPortfolios()).thenReturn(portfolios);
}
Но это Безразлично» похоже, работает.
Когда я вызываю метод serviceimpl, он по-прежнему принимает фактический объект PortfolioReferenceParameter, который локально создается в этом методе. Как я могу издеваться над этим объектом с моим объектом?
Я думаю, что в производственной программе портфели заполнены, верно? В этом случае ваш тест делает то, что никогда не произойдет в продуктивном сценарии. Вам лучше высмеивать истинные источники списка портфолио. – CoronA