考慮方法返回A類在我的服務,有沒有辦法模擬pojo,然後在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);
}
這裏一切工作正常。代碼覆蓋率也很好。但我的問題是,是否有任何可能的方法來避免上面使用mockito返回類A的私有方法?
在單元測試
你不應該需要mockito。只需擴展'B'並重寫'method_b()'以返回您的自定義值。 – shmosel
@shmosel不好主意!什麼ID B是一個接口,並獲得新的方法隨着時間的推移?你總是不得不改變舊的測試... –
不,我只是想避免手動提供setters因爲,即使我錯過了一個setter我的測試用例失敗。 – amjeremiad