이미 많은 질문이 있지만 특정 사례에 대한 유용한 유용한 정보는 없습니다.조롱 된 클래스의 필드를 수정하는 메서드 테스트
클래스 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"); }
}
}
가 LinkedList들을 어떻게 든 채워 있다고 말한다 수 있습니다 : 여기
은 예입니다. 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); new B (mock1, mock2, mock3); 그런 다음 해당 모의 행위와 상호 작용이 있었는지 확인할 수 있습니다. –
감사합니다. 좋은 생각입니다. EasyMock에서 확인하는 방법을 알고 있습니까? – assaultpig