すでに質問されている質問はたくさんありますが、私の場合は本当に役に立つ情報はありません。模擬クラスのフィールドを変更するメソッドをテストする
私はメソッドをテストしたいと思っています。これはクラスAとそのvoidにあり、クラスBからいくつかのメソッドを呼び出して、そのフィールドを変更またはチェックします。ここで
は一例です:
public class A {
private B b;
public A(B b){
this.b = b;
}
public void checkStageOne(Worksheet ws){
if(long statement){
if(B.checkStorage(ws)){
ws.setThing("Nasty");
}
else { ws.setStatus("Not so nasty"); }
}
}
はLinkedListsが何とか埋めていると言うことができます。クラスA checkStageOne()のパラメータは、
public class B {
private LinkedList<Worksheet> sheetList = new LinkedList<>();
private LinkedList<UsedParts> upList = new LinkedList<>();
private LinkedList<UsedParts> matList = new LinkedList<>();
public boolean checkStorage(int id){
for(UsedParts up : upList){
if(up.getSheetID()== id){
for(Material mat : matList){
if(up.getMatID() == mat.getMatID()){
if(mat.getQuantity() - up.getQuantityNeeded() < 0){
return false;
}
}
}
}
}
return true;
}
は、私はクラスBをモックするクラスBにリストに含まれているが、私は、私も結果をテストし、その後Bのフィールド偽物と可能性がどのように絶対にないアイデアを持っていませんそれらの上に。私が知っているのは、EasyMock.expectLastCall()でvoidをテストできることです。しかし、私は本当に断言していたかどうかを確認する必要があります。
ご意見はありますか?
VBR、
:このような
何か LinkedListのmock1 =モック(LinkedList.class)。 LinkedList mock2 = mock(LinkedList.class); LinkedList mock3 = mock(LinkedList.class); 新規B(mock1、mock2、mock3); あなたはそれらのモックとのやりとりがあったかどうかを確認できます –
ありがとう、いい考えです。あなたはEasyMockでそれをチェックする方法を知っていますか? – assaultpig