рассмотрим метод возвращает класс А в моей службе,Есть ли способ издеваться над другими, а затем устанавливать значения вручную в mockito?
public List<A> method(){
A a=B.method_b();
List<A> list=new ArrayList<>();
for(A aa:a){
A classA=new A();
classA.setVal1(aa.getVal1());
list.add(classA);
}
return list;
}
Мой POJO класс
class A{
private int val1;
private int val2;
.
.
.
.
private int val10;
//setter and getter
}
так в тесте, я писал
@Mock
B b;
@Test
public void check(){
Mockito.when(b.method_b())
.thenReturn(return_A());
}
private A return_A(){
A a=new A();
a.setVal1(1);
.
.
.
a.setVal10(10);
}
Здесь все работает отлично. Кодовый охват также прекрасен. Но мой вопрос в том, есть ли какой-либо возможный способ избежать выше частного метода, который возвращает класс A с помощью mockito?
Вам не нужно мокето. Просто добавьте 'B' и переопределите' method_b() ', чтобы вернуть свое пользовательское значение. – shmosel
@shmosel плохая идея! какой идентификатор B является интерфейсом и получает новые методы с течением времени? Вам постоянно приходится менять старые unittests ... –
Нет, я просто хочу, чтобы избежать ручного предоставления сеттеров, даже если я пропустил один сеттер, мой тестовый пример не удался. – amjeremiad