Я ищу способ получить значение List в моем тесте, у меня есть эта структура в моем SUT:
.//... A run method with logic that call this:
private void buys(){
List<GroupLin> gruposByEarly = this.earlys.stream().map(this::agruparCompras).filter(Objects::nonNull).collect(Collectors.toList());
List<MyClass> toSave = gruposByEarly.stream().flatMap(this::getToSave).map(this::valorar).collect(Collectors.toList());
this.writer.persist(toSave.stream());
}
И у меня есть тест с некоторыми из них:
@Test
public void runTest() {
//...when sentences
super.cvlTask.run(getStepRequest());
//...asserts
}
Но я не знаю, как увидеть объект 'List toSave', я пытался с этим:
when(entityWriter.persist(Mockito.any())).thenReturn(aMethodThatCallSUTGetMethodOfList);
Но такие вещи не работают, любая идея, потому что когдазапустить до логики в моем SUT, и я попытался с @Spy, но у него та же проблема
Я сделал это тоже:
private List<ValoracionLin> toSave;
//...logic
//... A run method with logic that call this:
private void buys(){
List<GroupLin> gruposByEarly = this.earlys.stream().map(this::agruparCompras).filter(Objects::nonNull).collect(Collectors.toList());
this.toSave = gruposByEarly.stream().flatMap(this::getToSave).map(this::valorar).collect(Collectors.toList());
this.writer.persist(toSave.stream());
}
public List<MyClass> getToSave(){
return this.toSave;
}
И в моем тесте:
when(entityWriter.persist(Mockito.any()))
.thenReturn(getValoracionesResultadoSUT());
private Integer getValoracionesResultadoSUT() {
this.valoracionesResultado = this.cvlTask.getToSave();
if(null!=this.valoracionesResultado)
return this.valoracionesResultado.size();
else
return 0;
}